LLVM/project 7a9e5b1llvm/lib/Target/WebAssembly WebAssemblyPassRegistry.def WebAssemblyTargetMachine.cpp, llvm/lib/Target/WebAssembly/GISel WebAssemblyPostLegalizerCombiner.cpp

[WebAssembly] Port WebAssemblyPostLegalizerCombiner

Standard NewPM pass porting. Again, we do need to move the rule parsing
into the per-MF implementation since it's hard to get the type
definition into the NewPM pass definition, but this should be low
overhead.

Reviewers: sbc100, aheejin, dschuff, QuantumSegfault

Pull Request: https://github.com/llvm/llvm-project/pull/218101
DeltaFile
+57-30llvm/lib/Target/WebAssembly/GISel/WebAssemblyPostLegalizerCombiner.cpp
+9-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-4llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+71-385 files

LLVM/project a66dc33llvm/test/CodeGen/AArch64 vector-ldst-offset.ll vector-ldst-align.ll, llvm/test/CodeGen/AMDGPU/NextUseAnalysis test_ers_emit_restore_in_loop_preheader2.mir test_ers_nested_loops.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+9,921-0llvm/test/CodeGen/AArch64/vector-ldst-align-float.ll
+8,227-0llvm/test/CodeGen/AArch64/vector-ldst-align.ll
+0-6,246llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_nested_loops.mir
+0-4,877llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_emit_restore_in_loop_preheader2.mir
+3,448-2llvm/test/CodeGen/AArch64/vector-ldst-offset.ll
+2,421-285llvm/test/tools/llvm-mca/AArch64/Cortex/A57-forwarding.s
+24,017-11,4103,712 files not shown
+201,618-81,0463,718 files

LLVM/project 0314b0allvm/lib/Target/WebAssembly WebAssemblyPassRegistry.def WebAssemblyTargetMachine.cpp, llvm/lib/Target/WebAssembly/GISel WebAssemblyPreLegalizerCombiner.cpp

[WebAssembly] Port PreLegalizerCombiner

Standard NewPM pass porting. We have to stick the RuleConfig option
parsing into the per-function implementation to avoid needing to put the
type definition in WebAssembly.h which probably isn't desirable with the
include file logic and given the parsing should be pretty cheap.

Reviewers: aheejin, sbc100, QuantumSegfault, dschuff

Pull Request: https://github.com/llvm/llvm-project/pull/218098
DeltaFile
+58-28llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
+9-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-4llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+72-365 files

LLVM/project f7b6543llvm/include/llvm/Analysis BasicAliasAnalysis.h, llvm/lib/Analysis BasicAliasAnalysis.cpp

[BasicAA] Refactor offset-based heuristics in `aliasGEP`, unify style (NFC) (#218687)

Part of the offset-based reasoning in `aliasGEP`, including GCD and
minimum absolute heuristics, has been abstracted out into
`BasicAAResult` private methods, in an attempt to improve code
readability.

Minor opportunity to modernize code style where possible.
DeltaFile
+145-119llvm/lib/Analysis/BasicAliasAnalysis.cpp
+18-3llvm/include/llvm/Analysis/BasicAliasAnalysis.h
+163-1222 files

LLVM/project 4399c3aclang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/test/CIR/CodeGen call-conv-lowering-x86_64-empty.cpp

[CIR] Accept a union with an ABI-empty member (#218718)

isSupportedType rejected any union containing an ABI-empty member
outright. Dropping the reject alone is not enough. A union mixing a
data-free member that spans the record with a bit-field access unit can
still mis-lower. The new accept rule requires that a data-supplying
member span the record whenever a bit-field access unit is present.

mapCIRType's union loop now only maps members that hold data for the
ABI, so an unnamed bit-field's storage is not mapped as a field either.

Assisted-by: Cursor / claude-opus-5

---------

Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
DeltaFile
+226-0clang/test/CIR/Transforms/abi-lowering/x86_64-union.cir
+92-0clang/test/CIR/CodeGen/call-conv-lowering-x86_64-empty.cpp
+32-21clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+34-15clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
+384-364 files

LLVM/project e08065allvm/lib/Target/AArch64 AArch64TargetMachine.cpp AArch64PassRegistry.def

[AArch64][NewPM] Port AsmPrinter (#219254)

Standard AsmPrinter porting for the NewPM.
DeltaFile
+39-0llvm/lib/Target/AArch64/AArch64AsmPrinter.h
+34-0llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+3-0llvm/lib/Target/AArch64/AArch64PassRegistry.def
+1-0llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+77-04 files

LLVM/project 6047281llvm/utils profcheck-xfail.txt

[Profcheck] Opt out test after #218753 (#219267)

ScalarizeMaskedMemIntrin needs some work before we can reenable these
tests.
DeltaFile
+1-0llvm/utils/profcheck-xfail.txt
+1-01 files

LLVM/project 4be6e6aflang/lib/Semantics check-omp-structure.h check-omp-variant.cpp, flang/test/Semantics/OpenMP metadirective-nesting.f90

[flang][OpenMP] Check metadirective replacement nesting

A selected metadirective replacement is not represented on the ordinary
OpenMP directive stack. As a result, nesting checks can miss both the
replacement itself and constructs nested in its associated region.

Track clause-bearing effective directive paths and use them for existing
worksharing, master, barrier, SIMD, scan, ordered, and cancellation
restrictions. Apply the checks only to reachable replacements and add
focused semantic coverage.
DeltaFile
+323-224flang/lib/Semantics/check-omp-structure.cpp
+220-0flang/test/Semantics/OpenMP/metadirective-nesting.f90
+143-3flang/lib/Semantics/check-omp-variant.cpp
+26-2flang/lib/Semantics/check-omp-structure.h
+712-2294 files

LLVM/project 1256c45llvm/test/CodeGen/AMDGPU llvm.sin.bf16.ll llvm.cos.bf16.ll, llvm/test/Transforms/InstCombine cos-sin-intrinsic.ll

[AMDGPU] Allow constant folding of bfloat (#215894)
DeltaFile
+43-26llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
+39-8llvm/test/CodeGen/AMDGPU/llvm.sin.bf16.ll
+39-8llvm/test/CodeGen/AMDGPU/llvm.cos.bf16.ll
+39-8llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sin.bf16.ll
+39-8llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cos.bf16.ll
+36-0llvm/test/Transforms/InstCombine/cos-sin-intrinsic.ll
+235-582 files not shown
+243-668 files

LLVM/project bae46aellvm/include/llvm/DebugInfo/DWARF DWARFDebugFrame.h, llvm/include/llvm/DebugInfo/DWARF/LowLevel DWARFCFIProgram.h

Bundle the lazy parsing state of an entry into a std::optional
DeltaFile
+13-18llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
+11-12llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
+5-0llvm/include/llvm/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.h
+29-303 files

LLVM/project 540b37bclang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage UnsafeBufferUsageAnalysis.cpp, clang/test/Analysis/Scalable/PointerFlow unsafe-buffer-reachable-cast-cycle.test

fix clang-format
DeltaFile
+2-1clang/lib/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
+1-1clang/test/Analysis/Scalable/PointerFlow/unsafe-buffer-reachable-cast-cycle.test
+3-22 files

LLVM/project a6bf0bdclang-tools-extra/clang-ssaf-src-edit-merge SrcEditMerge.cpp, clang-tools-extra/test/clang-ssaf-src-edit-merge two-input-conflict-sarif.test two-conflicts-different-offsets-sarif.test

[clang][ssaf][clang-reforge] Tool for merging per-TU source-edit files (#216183)

Add a new tool that merges per-TU
clang::tooling::TranslationUnitReplacements YAML files for one link unit
into a single merged YAML, deduplicating identical edits and dropping
conflicting overlapping edits rather than silently picking a winner. The
tool does not apply edits to source files; that remains the caller's
responsibility via clang-apply-replacements.

rdar://179151250
DeltaFile
+539-0clang-tools-extra/clang-ssaf-src-edit-merge/SrcEditMerge.cpp
+63-0clang-tools-extra/test/clang-ssaf-src-edit-merge/range-overlap-cluster-of-three-sarif.test
+53-0clang-tools-extra/test/clang-ssaf-src-edit-merge/range-overlap-conflict-sarif.test
+44-0clang-tools-extra/test/clang-ssaf-src-edit-merge/conflict-preserves-unrelated-zero-length-insert.test
+43-0clang-tools-extra/test/clang-ssaf-src-edit-merge/two-conflicts-different-offsets-sarif.test
+39-0clang-tools-extra/test/clang-ssaf-src-edit-merge/two-input-conflict-sarif.test
+781-035 files not shown
+1,356-041 files

LLVM/project 90eda55clang/unittests/ScalableStaticAnalysis ASTEntityMappingTest.cpp

fix clang-format
DeltaFile
+2-3clang/unittests/ScalableStaticAnalysis/ASTEntityMappingTest.cpp
+2-31 files

LLVM/project adc489ellvm/test/Transforms/PGOProfile memprof.ll, llvm/test/tools/llvm-profdata merge-traces-seed.proftext

[InstrProf] Fix tests broken on some platforms (#219257)

https://github.com/llvm/llvm-project/pull/217083 broke some tests on
some platforms. Require `x86_64-linux` for these tests to fix the bots.

* `memprof.ll`: MemProf's stack id hash algorithm apparently gives
different hashes depending on the platform
* `merge-traces-seed.proftext`: Apparently
`std::uniform_int_distribution` is different on some platforms, causing
our random sampling algorithm to give a different set on some platforms
DeltaFile
+3-0llvm/test/tools/llvm-profdata/merge-traces-seed.proftext
+2-0llvm/test/Transforms/PGOProfile/memprof.ll
+5-02 files

LLVM/project ac2390aflang/lib/Optimizer/OpenMP MapInfoFinalization.cpp, flang/test/Lower/OpenMP map-descriptor-privatization.f90

[Flang][OpenMP] Privatize descriptors for assumed shape array maps for performance increase (#212336)

This PR aims to decrease the performance overhead of descriptor mapping
by privatizing the descriptors, thus having them part of the initial
kernel payload as opposed to a separate more costly H2D transfer. We do
so by modifying the map types for the descriptor, hooking into the
runtimes existing privatization of attach pointers. Some minor tweaks in
the lowering to LLVM-IR are also required to specialize around this
attach map privatization case. The intent is to expand this
privatization to more comprehensively be the default case for
descriptors, so hopefully we'll be able to assimilate the edge case
better with the member mapping in the future.

This currently only applies to assumed shape array arguments while we
test the cost effectiveness and possible downsides.

Co-author: Akash Banerjee <Akash.Banerjee at amd.com>
DeltaFile
+74-17flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+54-21mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+39-0mlir/test/Target/LLVMIR/omptarget-map-pointer-privatization.mlir
+19-0flang/test/Lower/OpenMP/map-descriptor-privatization.f90
+5-0mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+3-1mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
+194-393 files not shown
+199-449 files

LLVM/project fbfc2d9clang/lib/Format DefinitionBlockSeparator.cpp Format.cpp, clang/unittests/Format DefinitionBlockSeparatorTest.cpp

[clang-format] Respect definition separators when MaxEmptyLinesToKeep: 0 (#206406)

Fixes #206340.

The formatter should remove empty lines before Allman opening braces,
but should preserve the required empty line between function
definitions.

I have added a test case "AlwaysMaxEmptyLinesZeroAllman", and have
ensured other test cases run fine along with this one.
DeltaFile
+29-0clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
+6-6clang/lib/Format/Format.cpp
+4-0clang/lib/Format/DefinitionBlockSeparator.cpp
+39-63 files

LLVM/project ded76cfllvm/lib/CodeGen/GlobalISel LegalizerHelper.cpp, llvm/test/CodeGen/AArch64 arm64ec-fp128-cmp.ll

[GlobalISel] Fix inverted libcall status check in createFCMPLibcall (#219242)

BuildLibcall tested `if (!Status)` on the LegalizeResult returned by
createLibcall. Since LegalizeResult is an enum with AlreadyLegal == 0,
that condition is false for both Legalized and UnableToLegalize, so a
failed libcall was never detected. The helper then built an ICMP against
the undefined result register and reported success, so the legalizer
never fell back.

Check `Status != Legalized` instead, so failures propagate and the
caller can bail out.

On arm64ec, GlobalISel call lowering is unimplemented, so this silently
dropped `fp128` compare libcalls at `-O0`. Add a test that checks the
expected `__eqtf2`, `__lttf2` and `__unordtf2` calls are emitted at both
`-O0` and `-O2`.
DeltaFile
+33-0llvm/test/CodeGen/AArch64/arm64ec-fp128-cmp.ll
+1-1llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+34-12 files

LLVM/project d72782cclang/lib/Sema HLSLExternalSemaSource.cpp, clang/test/AST/HLSL Textures-vector-AST.hlsl Textures-scalar-AST.hlsl

[HLSL] Implement TextureCubeArray
DeltaFile
+40-83clang/test/AST/HLSL/Textures-vector-AST.hlsl
+40-83clang/test/AST/HLSL/Textures-scalar-AST.hlsl
+21-0clang/lib/Sema/HLSLExternalSemaSource.cpp
+13-0clang/test/CodeGenHLSL/resources/Textures-SampleLevel.hlsl
+13-0clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl
+13-0clang/test/CodeGenHLSL/resources/Textures-SampleCmpLevelZero.hlsl
+140-16620 files not shown
+277-16826 files

LLVM/project 52021f1clang/lib/CodeGen CGHLSLBuiltins.cpp, clang/lib/Sema HLSLExternalSemaSource.cpp SemaHLSL.cpp

rwtexture-load
DeltaFile
+213-182clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
+43-13clang/test/SemaHLSL/Resources/Textures-Load-errors.hlsl
+23-14clang/lib/CodeGen/CGHLSLBuiltins.cpp
+23-0clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+13-2clang/lib/Sema/SemaHLSL.cpp
+1-1clang/lib/Sema/HLSLExternalSemaSource.cpp
+316-2121 files not shown
+318-2127 files

LLVM/project 4339821clang/lib/Sema HLSLBuiltinTypeDeclBuilder.cpp, clang/test/AST/HLSL Textures-vector-AST.hlsl Textures-scalar-AST.hlsl

[HLSL] Implement TextureCube for HLSL
DeltaFile
+541-518clang/test/AST/HLSL/Textures-scalar-AST.hlsl
+537-514clang/test/AST/HLSL/Textures-vector-AST.hlsl
+181-140clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+108-77clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl
+96-63clang/test/CodeGenHLSL/resources/Textures-Sample.hlsl
+86-53clang/test/CodeGenHLSL/resources/Textures-SampleCmp.hlsl
+1,549-1,36520 files not shown
+2,265-1,64226 files

LLVM/project d371c51clang/test/AST/HLSL Textures-vector-AST.hlsl Textures-scalar-AST.hlsl, clang/test/CodeGenHLSL/resources Textures-SampleGrad.hlsl Textures-Subscript.hlsl

[NFC][HLSL] Generalize and consolidate texture tests (#218519)

Many of the texture tests were parameterized specifically for Texture2D
and Texture2DArray, therefore retaining several 2D-specific literals,
including: the `hlsl::dimension` spelling, the width of the offset / ddx
/ ddy / LOD-location vectors, the operator[] index type and the
`spirv.Image` Dim operand.

Furthermore, the macro names used for parameterization was inconsistent
among test files.

This PR re-parameterizes the texture tests to generalize to more than
only 2D textures, and keeps the macro names consistent across test
files. Also consolidates the remaining texture-type-specific tests into
the general texture tests.

Each test file now also has a comment describing each macro used in the
test.


    [9 lines not shown]
DeltaFile
+225-138clang/test/CodeGenHLSL/resources/Textures-Load.hlsl
+152-120clang/test/AST/HLSL/Textures-vector-AST.hlsl
+152-120clang/test/AST/HLSL/Textures-scalar-AST.hlsl
+151-16clang/test/CodeGenHLSL/resources/Textures-Subscript.hlsl
+100-52clang/test/CodeGenHLSL/resources/Textures-SampleGrad.hlsl
+82-20clang/test/SemaHLSL/Resources/Textures-Subscript.hlsl
+862-46637 files not shown
+2,057-1,02743 files

LLVM/project a776364llvm/lib/Transforms/Scalar ScalarizeMaskedMemIntrin.cpp, llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86 metadata.ll

[ScalarizeMaskedMemIntrin] Preserve metadata during scalarization (#218753)

I based `copyMetadataForScalarizedLoad` on the `copyMetadataForLoad`
helper in Local.cpp. These both preserve:
- `!tbaa`
- `!fpmath`
- `!invariant.load`
- `!alias.scope`
- `!noalias`
- `!nontemporal`
- `!mem.cache_hint`
- `!llvm.mem.parallel_loop_access`
- `!llvm.access.group`
- `!noalias.addrspace`
- `!range` - range metadata applies elementwise, so the range guarantee
works for each scalarized load/store.

`copyMetadataForLoad` additionally preserves:
- `!nonnull`, `!align`, `!dereferenceable`, `!dereferenceable_or_null`,

    [31 lines not shown]
DeltaFile
+431-0llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/metadata.ll
+146-17llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
+577-172 files

LLVM/project e8b73bcutils/bazel/llvm-project-overlay/libc/test BUILD.bazel libc_test_rules.bzl, utils/bazel/llvm-project-overlay/libc/test/IntegrationTest BUILD.bazel

[libc][bazel] Use LLVM-libc startup objects in full-build tests
DeltaFile
+91-59utils/bazel/llvm-project-overlay/libc/test/include/BUILD.bazel
+56-20utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
+37-4utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
+35-4utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
+25-0utils/bazel/llvm-project-overlay/libc/test/IntegrationTest/BUILD.bazel
+21-0utils/bazel/llvm-project-overlay/libc/test/BUILD.bazel
+265-873 files not shown
+276-909 files

LLVM/project ce2fbcellvm/test/CodeGen/X86 pext-vector-256.ll pdep-vector-256.ll

Merge branch 'main' into users/adams381/cir-callconv-optout-openacc-declare
DeltaFile
+1,312-0llvm/test/CodeGen/X86/znver-pdep.ll
+796-0llvm/test/CodeGen/X86/znver-pext.ll
+605-119llvm/test/CodeGen/X86/pext-vector-512.ll
+605-119llvm/test/CodeGen/X86/pdep-vector-512.ll
+314-63llvm/test/CodeGen/X86/pext-vector-256.ll
+314-63llvm/test/CodeGen/X86/pdep-vector-256.ll
+3,946-364191 files not shown
+7,608-1,477197 files

LLVM/project 3cc0c91lldb/tools/lldb-dap DAP.h DAP.cpp, lldb/tools/lldb-dap/Handler SourceRequestHandler.cpp BreakpointLocationsRequestHandler.cpp

[lldb-dap][NFC] Create a type alias for sourceReference. (#219018)

The spec requires sourceReference to be of type int32 and a minimum
value of 0. src_ref_t is an alias to int32_t.

Replace narrowed values in function helpers and struct declarations.
DeltaFile
+10-2lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
+4-3lldb/tools/lldb-dap/DAP.cpp
+3-3lldb/tools/lldb-dap/DAP.h
+2-2lldb/tools/lldb-dap/Handler/RequestHandler.h
+1-1lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
+1-1lldb/tools/lldb-dap/Handler/BreakpointLocationsRequestHandler.cpp
+21-123 files not shown
+24-159 files

LLVM/project 6b1423bmlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

Update comment
DeltaFile
+2-2mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+2-21 files

LLVM/project d007d38mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp, mlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir

[mlir][LLVM] Use a disjoint scope domain when inlining noalias

This matches recent changes to the LLVM inliner.

AI disclosure: Claude wrote the code, I wrote the commit message and
have done initial review.
DeltaFile
+28-25mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+10-18mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+38-432 files

LLVM/project c8ac0a6mlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir

Test that the inliner keeps the flag when it clones a domain

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+35-0mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+35-01 files

LLVM/project 2f02840mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

Remove pointless comment
DeltaFile
+0-2mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+0-21 files

LLVM/project d775771mlir/include/mlir/Dialect/LLVMIR LLVMAttrDefs.td, mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

[mlir][LLVM] Add disjointScopes to AliasScopeDomainAttr

This also updates the MLIR-side inliner to clone disjoint domains
while cloning alias scopes, matching changes to LLVM.

AI disclosure: Claude wrote the code, I wrote the commit message and
looked at the code.
DeltaFile
+25-0mlir/test/Target/LLVMIR/Import/metadata-alias-scopes.ll
+23-0mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
+17-2mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+4-2mlir/lib/Target/LLVMIR/ModuleImport.cpp
+4-1mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+2-2mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+75-76 files