Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync with main #3

Merged
merged 1,486 commits into from
Aug 20, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
1486 commits
Select commit Hold shift + click to select a range
94473f4
[IRBuilder] Generate nuw GEPs for struct member accesses (#99538)
hazzlim Aug 9, 2024
fc4485b
Revert "[mlir][ArmSME] Pattern to swap shape_cast(tranpose) with tran…
MacDue Aug 9, 2024
3e806c8
[NFC] Use references to avoid copying (#99863)
pratyay-p Aug 9, 2024
574e958
[clang] Implement CWG2627 Bit-fields and narrowing conversions (#78112)
MitalAshok Aug 9, 2024
4c19de9
[mlir][vector] Disable `vector.matrix_multiply` for scalable vectors …
banach-space Aug 9, 2024
24be4d5
[mlir][vector] Add tests for scalable vectors in one-shot-bufferize.m…
banach-space Aug 9, 2024
3064646
[flang][OpenMP] Handle multiple ranges in `num_teams` clause (#102535)
kparzysz Aug 9, 2024
0795ab4
[InstCombine] Remove unnecessary RUN line from test (NFC)
nikic Aug 9, 2024
02645d6
[RISCV] Add Syntacore SCR5 RV32/64 processors definition (#102285)
asi-sc Aug 9, 2024
a15de17
Revert "Enable logf128 constant folding for hosts with 128bit floats …
nikic Aug 9, 2024
fff78a5
LSV/test/AArch64: add missing lit.local.cfg; fix build (#102607)
artagnon Aug 9, 2024
1953629
[MemoryBuiltins] Handle allocator attributes on call-site
nikic Aug 9, 2024
0b745a1
[AArch64] Add invalid 1 x vscale costs for reductions and reduction-o…
davemgreen Aug 9, 2024
8ce6449
Unnamed bitfields are not nonstatic data members.
katzdm Aug 9, 2024
5bc1f9e
[MemoryBuiltins] Simplify getCalledFunction() helper (NFC)
nikic Aug 9, 2024
cf54cae
AMDGPU/NewPM: Port SIFixSGPRCopies to new pass manager (#102614)
arsenm Aug 9, 2024
1d77dd5
[llvm-readobj][COFF] Dump hybrid objects for ARM64X files. (#102245)
cjacek Aug 9, 2024
4c5ef66
Fix a unit test input file (#102567)
ian-twilightcoder Aug 9, 2024
d45de80
[MLIR][GPU-LLVM] Convert `gpu.func` to `llvm.func` (#101664)
victor-eds Aug 9, 2024
93fc459
[mlir][spirv] Support `memref` in `convert-to-spirv` pass (#102534)
angelz913 Aug 9, 2024
ff1cc5b
[libc][math][c23] Add totalorderl function. (#102564)
Jobhdez Aug 9, 2024
335bc3c
[AMDGPU][AsmParser][NFCI] All NamedIntOperands to be of the i32 type.…
kosarev Aug 9, 2024
dad1cb9
[ARM] Regenerate big-endian-vmov.ll. NFC
davemgreen Aug 9, 2024
ee8100b
[Clang][OMPX] Add the code generation for multi-dim `num_teams` (#101…
shiltian Aug 9, 2024
259742a
[SelectionDAG] Use unaligned store/load to move AVX registers onto st…
Nirhar Aug 9, 2024
3bd63d4
[bazel] Port for d45de8003a269066c9a9af871119a7c36eeb5aa3
hokein Aug 9, 2024
3c639b8
[Clang] Simplify specifying passes via -Xoffload-linker (#102483)
jdenny-ornl Aug 9, 2024
5c0eb1a
[bazel] Add missing dep for the SPIRVToLLVM target
hokein Aug 9, 2024
f4d5b14
[gn] Give two scripts argparse.RawDescriptionHelpFormatter
nico Aug 9, 2024
669d844
[X86] Convert truncsat clamping patterns to use SDPatternMatch. NFC.
RKSimon Aug 9, 2024
52126dc
[Clang] Fix Handling of Init Capture with Parameter Packs in LambdaSc…
LYP951018 Aug 9, 2024
7a98071
[mlir] Verifier: steal bit to track seen instead of set. (#102626)
dtzSiFive Aug 9, 2024
9e9fa00
[Arm][AArch64][Clang] Respect function's branch protection attributes…
DanielKristofKiss Aug 9, 2024
52220c2
[AMDGPU][AsmParser][NFC] Remove a misleading comment. (#102604)
kosarev Aug 9, 2024
8f21ff9
[MLIR][DLTI][Transform] Introduce transform.dlti.query (#101561)
rolfmorel Aug 9, 2024
f4fb735
[llvm] Construct SmallVector<SDValue> with ArrayRef (NFC) (#102578)
kazutakahirata Aug 9, 2024
5c016bf
[flang][cuda] Force default allocator in device code (#102238)
clementval Aug 9, 2024
2f8f58d
[IR] Add method to GlobalVariable to change type of initializer. (#10…
efriedma-quic Aug 9, 2024
23209d1
OpenMPOpt: Remove dead include
arsenm Aug 9, 2024
6f19a7b
[mlir][bazel] add bazel rule for DLTITransformOps
yijia1212 Aug 9, 2024
5123f2c
[mlir][vector][test] Split tests from vector-transfer-flatten.mlir (#…
banach-space Aug 9, 2024
37c6683
[X86] pr57673.ll - generate MIR test checks
RKSimon Aug 9, 2024
7752fec
Revert "[MLIR][DLTI][Transform] Introduce transform.dlti.query (#1015…
rengolin Aug 9, 2024
cb5ec37
[msan] Support vst{2,3,4}_lane instructions (#101215)
thurstond Aug 9, 2024
95820ca
[mlir][bazel] revert bazel rule change for DLTITransformOps
yijia1212 Aug 9, 2024
8c81fb6
[libc][math][c23] Add fadd{l,f128} C23 math functions (#102531)
aaryanshukla Aug 9, 2024
2fe61a5
[AMDGPU] Move `AMDGPUAttributorPass` to full LTO post link stage (#10…
shiltian Aug 9, 2024
7ede1c4
[asan] Switch allocator to dynamic base address (#98511)
thurstond Aug 9, 2024
1ea0865
[Clang] Add env var for nvptx-arch/amdgpu-arch timeout (#102521)
jdenny-ornl Aug 9, 2024
e711a0c
[MIPS] Fix missing ANDI optimization (#97689)
yingopq Aug 9, 2024
9f3ff8d
[scudo] Separated committed and decommitted entries. (#101409)
JoshuaMBa Aug 9, 2024
edf45e4
Suppress spurious warnings due to R_RISCV_SET_ULEB128
MaskRay Aug 9, 2024
6b77531
[GlobalIsel] Combine G_ADD and G_SUB with constants (#97771)
tschuett Aug 9, 2024
b6cbd01
[libc][newhdrgen]sorted function names in yaml (#102544)
aaryanshukla Aug 9, 2024
ccc3127
[NVPTX] support switch statement with brx.idx (reland) (#102550)
AlexMaclean Aug 9, 2024
31c75a1
[RISCV] Move PseudoVSET(I)VLI expansion to use PseudoInstExpansion. (…
topperc Aug 9, 2024
ca7ad38
[RISCV] Remove riscv-experimental-rv64-legal-i32. (#102509)
topperc Aug 9, 2024
2eb6e30
[clang] Wire -fptrauth-returns to "ptrauth-returns" fn attribute. (#1…
ahmedbougacha Aug 9, 2024
e5697d7
Return available function types for BindingDecls. (#102196)
bazuzi Aug 9, 2024
6b27a57
[RISCV][GISel] Add missing tests for G_CTLZ/CTTZ instruction selectio…
topperc Aug 9, 2024
492484e
Revert "[AMDGPU] Move `AMDGPUAttributorPass` to full LTO post link st…
shiltian Aug 9, 2024
22cce65
[LLVM][rtsan] rtsan transform to preserve CFGAnalyses (#102651)
cjappl Aug 9, 2024
d179acd
[clang] Implement -fptrauth-auth-traps. (#102417)
ahmedbougacha Aug 9, 2024
2f6a879
[libc] Use cpp::numeric_limits in preference to C23 <limits.h> macros…
frobtech Aug 9, 2024
101cf54
[lldb] Move definition of SBSaveCoreOptions dtor out of header (#102539)
bulbazord Aug 9, 2024
35f55f5
[mlir][ODS] Consistent `cppType` / `cppClassName` usage (#102657)
matthias-springer Aug 9, 2024
74e4694
[LTO] enable `ObjCARCContractPass` only on optimized build (#101114)
DataCorrupted Aug 9, 2024
7359a6b
[mlir][ODS] Verify type constraints in Types and Attributes (#102326)
matthias-springer Aug 9, 2024
a21cf56
[libc] Fix use of cpp::numeric_limits<...>::digits (#102674)
frobtech Aug 9, 2024
66d8735
[SandboxIR] Implement the InsertElementInst class (#102404)
slackito Aug 9, 2024
841327d
[flang][cuda] Convert cuf.alloc for box to fir.alloca in device conte…
clementval Aug 9, 2024
6e8a751
[libc] Clean up remaining use of *_WIDTH macros in printf (#102679)
frobtech Aug 9, 2024
e8eec71
[flang][cuda] Fix lib dependency
clementval Aug 9, 2024
842789b
[mlir][bazel] add missing td dependency in mlir-tblgen test
yijia1212 Aug 9, 2024
165c6d1
[mlir] Add support for parsing nested PassPipelineOptions (#101118)
nikalra Aug 9, 2024
8a5e179
[NVPTX][NFC] Update tests to use bfloat type (#101493)
hdelan Aug 9, 2024
13fc914
[mlir][bazel] remove extra blanks in mlir-tblgen test
yijia1212 Aug 9, 2024
f7ad495
[SandboxIR] Clean up tracking code with the help of emplaceIfTracking…
vporpo Aug 9, 2024
e91e0f5
[CodeGen][NFCI] Don't re-implement parts of ASTContext::getIntWidth (…
jrtc27 Aug 9, 2024
4bffbba
[UnitTests] Convert a test to use opaque pointers (#102668)
s-barannikov Aug 9, 2024
c69b8c4
[compiler-rt][NFC] Replace environment variable with %t (#102197)
Harini0924 Aug 9, 2024
bbefd57
[TargetLowering] Handle vector types in expandFixedPointMul (#102635)
bjope Aug 9, 2024
7299c7f
[libc] Fix CFP long double and add tests (#102660)
michaelrj-google Aug 9, 2024
1d8d5d6
[libc] Moved range_reduction_double ifdef statement (#102659)
RoseZhang03 Aug 9, 2024
44f30c8
[SandboxIR][NFC] Use Tracker.emplaceIfTracking()
vporpo Aug 9, 2024
93a31cd
[nsan] Make #include more conventional
MaskRay Aug 9, 2024
51a3bc1
[ThinLTO]Clean up 'import-assume-unique-local' flag. (#102424)
minglotus-6 Aug 9, 2024
5351723
[SandboxIR][NFC] SingleLLVMInstructionImpl class (#102687)
vporpo Aug 10, 2024
786c409
[AMDGPU][Attributor] Add a pass parameter `closed-world` for AMDGPUAt…
shiltian Aug 10, 2024
23c8128
FIX: Remove unused private data member `HasWholeProgramVisibility` in…
shiltian Aug 10, 2024
76f722f
AMDGPU/NewPM: Port SIAnnotateControlFlow to new pass manager (#102653)
arsenm Aug 10, 2024
77e68fb
AMDGPU/NewPM: Port AMDGPUAnnotateUniformValues to new pass manager (#…
arsenm Aug 10, 2024
3696a34
AMDGPU/NewPM: Port SILowerI1Copies to new pass manager (#102663)
arsenm Aug 10, 2024
6c8d479
[nsan] GetShadowAddrFor: Use (const) void * to decrease the number of…
MaskRay Aug 10, 2024
e0ddd42
[msan] Use namespace qualifier. NFC
MaskRay Aug 10, 2024
e9a47a6
[llvm] Construct SmallVector with ArrayRef (NFC) (#102712)
kazutakahirata Aug 10, 2024
fcf6dc3
[AArch64] Construct SmallVector<SDValue> with ArrayRef (NFC) (#102713)
kazutakahirata Aug 10, 2024
165f453
[mlir] Use llvm::is_contained (NFC) (#102714)
kazutakahirata Aug 10, 2024
109f2f0
AMDGPU/NewPM: Initialize class member
vitalybuka Aug 10, 2024
0c783be
[TargetLowering] Use APInt::isSubsetOf to simplify an expression. NFC
topperc Aug 10, 2024
7a6acd9
[clang] Use llvm::is_contained (NFC) (#102720)
kazutakahirata Aug 10, 2024
a52e486
[llvm-objdump,test] Fix source-interleave.ll when /proc/self/cwd is u…
MaskRay Aug 10, 2024
9a227ba
[clang][Interp] Start implementing unions and changing the active mem…
tbaederr Aug 10, 2024
5c717d6
[libc++] re-enable clang-tidy in the CI and fix any issues (#102658)
philnik777 Aug 10, 2024
979abf1
[clang][Interp] Improve "in call to" call argument printing (#102735)
tbaederr Aug 10, 2024
86691f8
[clang][Interp] Do not call dtors of union members (#102739)
tbaederr Aug 10, 2024
3b57f6b
[clang][Interp] Handle nested unions (#102743)
tbaederr Aug 10, 2024
22c77f2
[Polly] Use separate DT/LI/SE for outlined subfn. NFC. (#102460)
Meinersbur Aug 10, 2024
59f7a80
[libc] Fix `scablnf16` using `float16` instead of `_Float16`
jhuber6 Aug 10, 2024
955be52
[LLD][NFC] Don't use x64 import library for x86 target in safeseh-md …
cjacek Aug 10, 2024
2849ebb
[LLD][NFC] Make InputFile::getMachineType const. (#102737)
cjacek Aug 10, 2024
5f26497
[mlir][vector] Use `DenseI64ArrayAttr` in vector.multi_reduction (#10…
MacDue Aug 10, 2024
ac47edd
[clang][Interp] Only zero-init first union member (#102744)
tbaederr Aug 10, 2024
1c26992
[Clang][Sema][OpenMP] Allow `thread_limit` to accept multiple express…
shiltian Aug 10, 2024
8d908b8
[clang][Interp] Ignore unnamed bitfields when zeroing records (#102749)
tbaederr Aug 10, 2024
9d6cec5
[clang][Interp] Fix activating via indirect field initializers (#102753)
tbaederr Aug 10, 2024
8a61bfc
[NFC] Fix TableGen include guards to match paths (#102746)
jurahul Aug 10, 2024
9bb7c11
[GISel] Handle more opcodes in constant_fold_binop (#102640)
jayfoad Aug 10, 2024
8101d18
[Support] Assert that DomTree nodes share parent (#101198)
aengelke Aug 10, 2024
ac83582
[Serialization] Fix a warning
kazutakahirata Aug 10, 2024
4ce2f98
[Serialization] Use traditional for loops (NFC) (#102761)
kazutakahirata Aug 10, 2024
496b224
[clang][Interp] Handle union copy/move ctors (#102762)
tbaederr Aug 10, 2024
c27415f
[sanitizer,test] Restore -fno-sized-deallocation coverage
MaskRay Aug 10, 2024
80eea01
[dfsan] Use namespace qualifier and internalize accidentally exported…
MaskRay Aug 10, 2024
f3e950a
[Utils] Add new merge-release-pr.py script. (#101630)
tru Aug 10, 2024
b167ada
[DFAJumpThreading] Rewrite the way paths are enumerated (#96127)
UsmanNadeem Aug 10, 2024
fe31363
[dfsan] Use namespace qualifier. NFC
MaskRay Aug 10, 2024
2ba1cc8
[Clang][CodeGen] Fix bad codegen when building Clang with latest MSVC…
aganea Aug 10, 2024
c5a4291
[clang-format] Add BreakBinaryOperations configuration (#95013)
ameerj Aug 10, 2024
986bc3d
[clang-format] Fix a serious bug in `git clang-format -f` (#102629)
owenca Aug 10, 2024
a417083
[llvm-exegesis][unittests] Also disable SubprocessMemoryTest on SPARC…
rorth Aug 10, 2024
b728f37
[Analysis] Use llvm::set_is_subset (NFC) (#102766)
kazutakahirata Aug 10, 2024
8c4e039
[LegalizeTypes] Use APInt::getLowBitsSet instead of getAllOnes+zext. NFC
topperc Aug 10, 2024
3c3df1b
Revert "[Support] Assert that DomTree nodes share parent" (#102780)
vitalybuka Aug 11, 2024
f498638
Revert "[clang][Interp] Improve "in call to" call argument printing" …
vitalybuka Aug 11, 2024
fa12aa7
[RISCV] Add IR tests for bf16 vmerge and vmv.v.v. NFC (#102775)
topperc Aug 11, 2024
4ac42af
[InstCombine] Use llvm::set_is_subset (NFC) (#102778)
kazutakahirata Aug 11, 2024
242f4e8
[profgen][NFC] Pass parameter as const_ref
aaupov Aug 11, 2024
cd15d12
[MC][profgen][NFC] Expand auto for MCDecodedPseudoProbe
aaupov Aug 11, 2024
073b057
[Target] Construct SmallVector<MachineMemOperand *> with ArrayRef (NF…
kazutakahirata Aug 11, 2024
712ab80
[clang][Interp] Properly adjust instance pointer in virtual calls (#1…
tbaederr Aug 11, 2024
2a00bf4
[clang][Interp][NFC] Add a failing test case (#102801)
tbaederr Aug 11, 2024
3036bcd
[Docs] Update meetup contact mail address (#99321)
Flakebi Aug 11, 2024
a245a98
[NFC][libclang/python] Fix code highlighting in release notes (#102807)
DeinAlptraum Aug 11, 2024
35d3625
[VPlan] Move VPWidenLoadRecipe::execute to VPlanRecipes.cpp (NFC).
fhahn Aug 11, 2024
2b0a88f
AMDGPU: Try to add some more amdgpu-perf-hint tests (#102644)
arsenm Aug 11, 2024
dd094b2
NewPM/AMDGPU: Port AMDGPUPerfHintAnalysis to new pass manager (#102645)
arsenm Aug 11, 2024
f070f61
[CI][libclang] Add PR autolabeling for libclang (#102809)
DeinAlptraum Aug 11, 2024
4589bf9
[clang-tidy] Fix modernize-use-std-format lit test signature (#102759)
mikecrowe Aug 11, 2024
7024cec
[LV] Collect profitable VFs in ::getBestVF. (NFCI)
fhahn Aug 11, 2024
4399dbe
[LV] Adjust test for #48188 to use AVX level closer to report.
fhahn Aug 11, 2024
5286656
[LV] Regenerate check lines in preparation for #99808.
fhahn Aug 11, 2024
94e6786
[llvm] Construct SmallVector with ArrayRef (NFC) (#102799)
kazutakahirata Aug 11, 2024
d2336fd
[RFC][GlobalISel] InstructionSelect: Allow arbitrary instruction eras…
tobias-stadler Aug 11, 2024
d1957dd
[gn build] Port d2336fd75cc9
llvmgnsyncbot Aug 11, 2024
bf3aa88
[GlobalISel] Combiner: Install Observer into MachineFunction
tobias-stadler Aug 11, 2024
fe59b84
[clang][Interp] Propagate InUnion flag to base classes (#102804)
tbaederr Aug 11, 2024
65c7213
[GlobalISel] Don't remove from unfinalized GISelWorkList
tobias-stadler Aug 11, 2024
846dccc
[LLD][COFF] Validate import library machine type. (#102738)
cjacek Aug 11, 2024
257c479
[LegalizeTypes][RISCV] Use SExtOrZExtPromotedOperands to promote oper…
topperc Aug 11, 2024
249db51
[nsan] Add NsanThread and clear static TLS shadow
MaskRay Aug 11, 2024
167c71a
Bump CI container clang version to 18.1.8 (#102803)
boomanaiden154 Aug 11, 2024
d1bc41f
[mlir][affine] Fix crash in mlir::affine::getForInductionVarOwner() (…
DarshanRamakant Aug 11, 2024
f0df4fb
[LV] Support generating masks for switch terminators. (#99808)
fhahn Aug 11, 2024
2438f41
Make msan_allocator.cpp more conventional. NFC
MaskRay Aug 11, 2024
1d0d1f2
[msan] Remove unneeded nullness CHECK
MaskRay Aug 11, 2024
4134592
[lldb] Construct SmallVector with ArrayRef (NFC) (#102793)
kazutakahirata Aug 11, 2024
60680f7
[LV] Handle SwitchInst in ::isPredicatedInst.
fhahn Aug 11, 2024
32973b0
[CMake] Followup to #102396 and restore old DynamicLibrary symbols be…
cachemeifyoucan Aug 11, 2024
1753008
[NFC] Eliminate top-level "using namespace" from some headers. (#102751)
jurahul Aug 11, 2024
1b71c47
libc: Remove `extern "C"` from main declarations (#102825)
dwblaikie Aug 11, 2024
b7c7dbd
Revert "libc: Remove `extern "C"` from main declarations" (#102827)
SchrodingerZhu Aug 11, 2024
0a2a319
[rtsan] Make sure rtsan gets initialized on mac (#100188)
cjappl Aug 11, 2024
af09dd6
[lldb] Silence warning
aganea Aug 11, 2024
20baa9a
[openmp][runtime] Silence warnings
aganea Aug 11, 2024
7202fe5
[compiler-rt] Silence warnings
aganea Aug 11, 2024
a819b0e
[lldb] Silence warning
aganea Aug 11, 2024
e79e601
[lldb] Fix dangling expression
aganea Aug 11, 2024
e2f9c18
[builtins] Rename sysauxv to getauxval to reflect the function called…
brad0 Aug 11, 2024
80ff391
[mlir] Fix build after ec50f5828f25 (#101021)
ryan-holt-1 Aug 12, 2024
efc6b50
[LoopVectorize][X86][AMDLibm] Add Missing AMD LibM trig vector intrin…
farzonl Aug 12, 2024
4399f2a
[NFC] [C++20] [Modules] Adjust the implementation of wasDeclEmitted t…
ChuanqiXu9 Aug 12, 2024
435654b
Revert "[CMake] Followup to #102396 and restore old DynamicLibrary sy…
cachemeifyoucan Aug 12, 2024
62ced81
[Sanitizer] Make sanitizer passes idempotent (#99439)
skc7 Aug 12, 2024
7d4aa1f
[mlir][IR] Auto-generate element type verification for VectorType (#1…
matthias-springer Aug 12, 2024
c6062d3
[clang][Interp][NFC] Cleanup CheckActive()
tbaederr Aug 11, 2024
558d7ad
[mlir][linalg] fix linalg.batch_reduce_matmul auto cast (#102585)
zhczhong Aug 12, 2024
27ed9b4
[clang][Interp][NFC] Move ctor compilation to compileConstructor
tbaederr Aug 11, 2024
cb372bd
Revert "[NFC] [C++20] [Modules] Adjust the implementation of wasDeclE…
ChuanqiXu9 Aug 12, 2024
7389545
Reapply "[AMDGPU] Always lower s/udiv64 by constant to MUL" (#101942)
Pierre-vh Aug 12, 2024
d469794
[clang] Avoid triggering vtable instantiation for C++23 constexpr dto…
Fznamznon Aug 12, 2024
f696489
[CMake] Don't pass -DBUILD_EXAMPLES to the build (#102838)
s-barannikov Aug 12, 2024
875b652
[DataLayout] Move `operator=` to cpp file (NFC) (#102849)
s-barannikov Aug 12, 2024
50f4168
[GlobalISel] Fix implementation of CheckNumOperandsLE/GE
Pierre-vh Aug 12, 2024
5a42a67
[VPlan] Mark VPVectorPointer as only using the first part of the ptr.
fhahn Aug 12, 2024
c8b5d30
[mlir][Transforms] Add missing check in tosa::transpose::verify() (#1…
DarshanRamakant Aug 12, 2024
273e0a4
[AMDGPU] add missing checks in processBaseWithConstOffset (#102310)
tgymnich Aug 12, 2024
cc14ecc
[InstCombine] Don't change fn signature for calls to declarations (#1…
nikic Aug 12, 2024
a07c6d9
[llvm][llvm-readobj] Add NT_ARM_FPMR corefile note type (#102594)
DavidSpickett Aug 12, 2024
b680862
[analyzer][NFC] Trivial refactoring of region invalidation (#102456)
NagyDonat Aug 12, 2024
55d7e59
[VPlan] Replace hard-coded value number in test with pattern.
fhahn Aug 12, 2024
d12250c
[NFC][Clang] clang-format a function declaration
jmorse Aug 12, 2024
8a1846d
[dwarf2yaml] Correctly emit type and split unit headers (#102471)
labath Aug 12, 2024
db0603c
[LV] Only OR unique edges when creating block-in masks.
fhahn Aug 12, 2024
11ba72e
[KnownBits] Add KnownBits::add and KnownBits::sub helper wrappers. (#…
RKSimon Aug 12, 2024
e607360
[clang][analyzer] Remove array bounds check from PointerSubChecker (#…
balazske Aug 12, 2024
32a62eb
[lldb] Tolerate multiple compile units with the same DWO ID (#100577)
labath Aug 12, 2024
ebf530c
[Flang][OpenMP] NFC: Use ConstructQueue::const_iterator (#102612)
skatrak Aug 12, 2024
908c89e
[analyzer][NFC] Improve documentation of `invalidateRegion` methods (…
NagyDonat Aug 12, 2024
670d208
[AArch64] Implement promotion type legalisation for histogram intrins…
DevM-uk Aug 12, 2024
a0241e7
Fix late comment review for #102038 (#102869)
giuseros Aug 12, 2024
4915fdd
[Serialization] Add a callback to register new created predefined dec…
ChuanqiXu9 Aug 12, 2024
8949290
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce width of X86IS…
RKSimon Aug 12, 2024
70feafd
IR/AMDGPU: Autoupgrade amdgpu-unsafe-fp-atomics attribute (#101698)
arsenm Aug 12, 2024
2ad3bcd
[MLIR][DLTI][Transform] Introduce transform.dlti.query - 2nd attempt …
rolfmorel Aug 12, 2024
1c764b9
AMDGPU: Use GCNTargetMachine in AMDGPUCodeGenPassBuilder (#102805)
arsenm Aug 12, 2024
afe019c
[lldb][test][AArch64] Regex match field values in register test
DavidSpickett Aug 12, 2024
05b75e0
AMDGPU/NewPM: Port AMDGPULateCodeGenPrepare to new pass manager (#102…
arsenm Aug 12, 2024
f86da4c
StructurizeCFG: Add SkipUniformRegions pass parameter to new PM versi…
arsenm Aug 12, 2024
0ea9cdb
[X86] Fold extract_subvector(fp_to_uint(x)) case to match existing fp…
RKSimon Aug 12, 2024
baabcb2
[mlir][mesh] Shardingcontrol (#102598)
fschlimb Aug 12, 2024
6ca6780
Clean up after transition into opaque pointers. NFC (#102631)
bjope Aug 5, 2024
1ff06c5
[verifier] Get rid of getResolverFunctionType. NFC (#102631)
bjope Aug 9, 2024
145aff6
Clean up pointer casts etc after opaque pointers transition. NFC (#10…
bjope Aug 9, 2024
7fe486a
TargetMachine: Move trivial setter/getter to header
arsenm Aug 12, 2024
c7107ca
[AMDGPU][NFCI] Mark AGPRs and VGPRs with different flags in HWEncodin…
kosarev Aug 12, 2024
7727853
[AMDGPU][AsmParser] Eliminate validateExeczVcczOperands(). (#102600)
kosarev Aug 12, 2024
21ef272
[lldb/DWARF] Search fallback to the manual index in GetFullyQualified…
labath Aug 12, 2024
f2991bd
[lldb][test] Disable procfile by thread ID test when LLVM_ENABLE_THRE…
DavidSpickett Aug 12, 2024
aa86e5b
[Clang][OpenMP] Fix the wrong transform of `num_teams` claused introd…
shiltian Aug 12, 2024
895ca18
[PS4/PS5][Driver] Allow -static in PlayStation drivers (#102020)
playstation-edd Aug 12, 2024
c876761
[IndVars] Add test for #102597 (NFC)
nikic Aug 12, 2024
513c372
[lldb][test] Break early when walking backtrace in concurrent tests
DavidSpickett Aug 12, 2024
3512bcc
[SCEV] Fix incorrect extension in computeConstantDifference()
nikic Aug 12, 2024
1b936e4
[AArch64] Add FEAT_SME_B16B16 and remove FEAT_B16B16 (#102501)
SpencerAbson Aug 12, 2024
cd08fad
[LV] Include chains feeding inductions in cost precomputation.
fhahn Aug 12, 2024
281f59f
[SPIR-V] Emit valid Lifestart/Lifestop instructions (#98475)
VyacheslavLevytskyy Aug 12, 2024
f9c9806
[SPIR-V] Rework usage of virtual registers' types and classes (#101732)
VyacheslavLevytskyy Aug 12, 2024
34514ce
[SLP][NFC]Use local getShuffleCost function across the code, NFC.
alexey-bataev Aug 9, 2024
c8a4568
Fix an obscure crash with substitution.
katzdm Aug 12, 2024
058106a
Issue #26: Fix splices in requires clause (#86)
delimbetov Aug 12, 2024
78a4192
Merge branch 'main' into p2996
katzdm Aug 12, 2024
dcc8c34
Initial support for importing reflections between modules.
katzdm Aug 12, 2024
1973df5
Add 'is_access_specified' metafunction.
katzdm Aug 15, 2024
ecd638b
Split 'is_alias' into 'is_type_alias' and 'is_namespace_alias'.
katzdm Aug 19, 2024
3d897ec
Add <experimental/meta> to std module.
katzdm Aug 19, 2024
33bebfb
Issue #88: Add has_{thread,automatic}_storage_duration functions (#89)
delimbetov Aug 19, 2024
b31a899
s/meta type/consteval-only type.
katzdm Aug 20, 2024
43e19fb
Mandates instead of Constant When for reflect_*().
katzdm Aug 20, 2024
8d34e90
s/is_special_member/is_special_member_function
katzdm Aug 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[mlir][spirv] Support memref in convert-to-spirv pass (llvm#102534)
This PR adds conversion patterns for MemRef to the `convert-to-spirv`
pass, introduced in llvm#95942. Conversions from MemRef memory space to
SPIR-V storage class were also included, and would run before the final
dialect conversion phase.

**Future Plans**
- Add tests for ops other than `memref.load` and `memref.store`

---------

Co-authored-by: Jakub Kuderski <[email protected]>
  • Loading branch information
angelz913 and kuhar authored Aug 9, 2024
commit 93fc4590d9e584d8a8552d00f45bca982021fb1d
1 change: 1 addition & 0 deletions mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ add_mlir_conversion_library(MLIRConvertToSPIRVPass
MLIRFuncToSPIRV
MLIRIndexToSPIRV
MLIRIR
MLIRMemRefToSPIRV
MLIRPass
MLIRRewrite
MLIRSCFToSPIRV
Expand Down
13 changes: 13 additions & 0 deletions mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "mlir/Conversion/ArithToSPIRV/ArithToSPIRV.h"
#include "mlir/Conversion/FuncToSPIRV/FuncToSPIRV.h"
#include "mlir/Conversion/IndexToSPIRV/IndexToSPIRV.h"
#include "mlir/Conversion/MemRefToSPIRV/MemRefToSPIRV.h"
#include "mlir/Conversion/SCFToSPIRV/SCFToSPIRV.h"
#include "mlir/Conversion/UBToSPIRV/UBToSPIRV.h"
#include "mlir/Conversion/VectorToSPIRV/VectorToSPIRV.h"
Expand Down Expand Up @@ -62,12 +63,24 @@ struct ConvertToSPIRVPass final
RewritePatternSet patterns(context);
ScfToSPIRVContext scfToSPIRVContext;

// Map MemRef memory space to SPIR-V storage class.
spirv::TargetEnv targetEnv(targetAttr);
bool targetEnvSupportsKernelCapability =
targetEnv.allows(spirv::Capability::Kernel);
spirv::MemorySpaceToStorageClassMap memorySpaceMap =
targetEnvSupportsKernelCapability
? spirv::mapMemorySpaceToOpenCLStorageClass
: spirv::mapMemorySpaceToVulkanStorageClass;
spirv::MemorySpaceToStorageClassConverter converter(memorySpaceMap);
spirv::convertMemRefTypesAndAttrs(op, converter);

// Populate patterns for each dialect.
arith::populateCeilFloorDivExpandOpsPatterns(patterns);
arith::populateArithToSPIRVPatterns(typeConverter, patterns);
populateBuiltinFuncToSPIRVPatterns(typeConverter, patterns);
populateFuncToSPIRVPatterns(typeConverter, patterns);
index::populateIndexToSPIRVPatterns(typeConverter, patterns);
populateMemRefToSPIRVPatterns(typeConverter, patterns);
populateVectorToSPIRVPatterns(typeConverter, patterns);
populateSCFToSPIRVPatterns(typeConverter, scfToSPIRVContext, patterns);
ub::populateUBToSPIRVConversionPatterns(typeConverter, patterns);
Expand Down
65 changes: 65 additions & 0 deletions mlir/test/Conversion/ConvertToSPIRV/memref.mlir
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -cse %s | FileCheck %s

module attributes {
spirv.target_env = #spirv.target_env<
#spirv.vce<v1.0, [Shader], [SPV_KHR_storage_buffer_storage_class]>, #spirv.resource_limits<>>
} {

// CHECK-LABEL: @load_store_float_rank_zero
// CHECK-SAME: %[[ARG0:.*]]: !spirv.ptr<!spirv.struct<(!spirv.array<1 x f32, stride=4> [0])>, StorageBuffer>, %[[ARG1:.*]]: !spirv.ptr<!spirv.struct<(!spirv.array<1 x f32, stride=4> [0])>, StorageBuffer>
// CHECK: %[[CST0:.*]] = spirv.Constant 0 : i32
// CHECK: %[[AC0:.*]] = spirv.AccessChain %[[ARG0]][%[[CST0]], %[[CST0]]] : !spirv.ptr<!spirv.struct<(!spirv.array<1 x f32, stride=4> [0])>, StorageBuffer>, i32, i32
// CHECK: %[[LOAD:.*]] = spirv.Load "StorageBuffer" %[[AC0]] : f32
// CHECK: %[[AC1:.*]] = spirv.AccessChain %[[ARG1]][%[[CST0]], %[[CST0]]] : !spirv.ptr<!spirv.struct<(!spirv.array<1 x f32, stride=4> [0])>, StorageBuffer>, i32, i32
// CHECK: spirv.Store "StorageBuffer" %[[AC1]], %[[LOAD]] : f32
// CHECK: spirv.Return
func.func @load_store_float_rank_zero(%arg0: memref<f32>, %arg1: memref<f32>) {
%0 = memref.load %arg0[] : memref<f32>
memref.store %0, %arg1[] : memref<f32>
return
}

// CHECK-LABEL: @load_store_int_rank_one
// CHECK-SAME: %[[ARG0:.*]]: !spirv.ptr<!spirv.struct<(!spirv.array<4 x i32, stride=4> [0])>, StorageBuffer>, %[[ARG1:.*]]: !spirv.ptr<!spirv.struct<(!spirv.array<4 x i32, stride=4> [0])>, StorageBuffer>, %[[ARG2:.*]]: i32
// CHECK: %[[CST0:.*]] = spirv.Constant 0 : i32
// CHECK: %[[AC0:.*]] = spirv.AccessChain %[[ARG0]][%[[CST0]], %[[ARG2]]] : !spirv.ptr<!spirv.struct<(!spirv.array<4 x i32, stride=4> [0])>, StorageBuffer>, i32, i32
// CHECK: %[[LOAD:.*]] = spirv.Load "StorageBuffer" %[[AC0]] : i32
// CHECK: %[[AC1:.*]] = spirv.AccessChain %[[ARG1]][%[[CST0]], %[[ARG2]]] : !spirv.ptr<!spirv.struct<(!spirv.array<4 x i32, stride=4> [0])>, StorageBuffer>, i32, i32
// CHECK: spirv.Store "StorageBuffer" %[[AC1]], %[[LOAD]] : i32
// CHECK: spirv.Return
func.func @load_store_int_rank_one(%arg0: memref<4xi32>, %arg1: memref<4xi32>, %arg2 : index) {
%0 = memref.load %arg0[%arg2] : memref<4xi32>
memref.store %0, %arg1[%arg2] : memref<4xi32>
return
}

// CHECK-LABEL: @load_store_larger_memref
// CHECK-SAME: %[[ARG0:.*]]: !spirv.ptr<!spirv.struct<(!spirv.array<8 x i32, stride=4> [0])>, StorageBuffer>, %[[ARG1:.*]]: !spirv.ptr<!spirv.struct<(!spirv.array<8 x i32, stride=4> [0])>, StorageBuffer>, %[[ARG2:.*]]: i32
// CHECK: %[[CST0:.*]] = spirv.Constant 0 : i32
// CHECK: %[[AC0:.*]] = spirv.AccessChain %[[ARG0]][%[[CST0]], %[[ARG2]]] : !spirv.ptr<!spirv.struct<(!spirv.array<8 x i32, stride=4> [0])>, StorageBuffer>, i32, i32
// CHECK: %[[LOAD:.*]] = spirv.Load "StorageBuffer" %[[AC0]] : i32
// CHECK: %[[AC1:.*]] = spirv.AccessChain %[[ARG1]][%[[CST0]], %[[ARG2]]] : !spirv.ptr<!spirv.struct<(!spirv.array<8 x i32, stride=4> [0])>, StorageBuffer>, i32, i32
// CHECK: spirv.Store "StorageBuffer" %[[AC1]], %[[LOAD]] : i32
// CHECK: spirv.Return
func.func @load_store_larger_memref(%arg0: memref<8xi32>, %arg1: memref<8xi32>, %arg2 : index) {
%0 = memref.load %arg0[%arg2] : memref<8xi32>
memref.store %0, %arg1[%arg2] : memref<8xi32>
return
}


// CHECK-LABEL: @load_store_vector
// CHECK-SAME: %[[ARG0:.*]]: !spirv.ptr<!spirv.struct<(!spirv.array<1 x vector<4xi32>, stride=16> [0])>, StorageBuffer>, %[[ARG1:.*]]: !spirv.ptr<!spirv.struct<(!spirv.array<1 x vector<4xi32>, stride=16> [0])>, StorageBuffer>
// CHECK: %[[CST0:.*]] = spirv.Constant 0 : i32
// CHECK: %[[AC0:.*]] = spirv.AccessChain %[[ARG0]][%[[CST0]], %[[CST0]]] : !spirv.ptr<!spirv.struct<(!spirv.array<1 x vector<4xi32>, stride=16> [0])>, StorageBuffer>, i32, i32
// CHECK: %[[LOAD:.*]] = spirv.Load "StorageBuffer" %[[AC0]] : vector<4xi32>
// CHECK: %[[AC1:.*]] = spirv.AccessChain %[[ARG1]][%[[CST0]], %[[CST0]]] : !spirv.ptr<!spirv.struct<(!spirv.array<1 x vector<4xi32>, stride=16> [0])>, StorageBuffer>, i32, i32
// CHECK: spirv.Store "StorageBuffer" %[[AC1]], %[[LOAD]] : vector<4xi32>
// CHECK: spirv.Return
func.func @load_store_vector(%arg0: memref<vector<4xi32>>, %arg1: memref<vector<4xi32>>) {
%0 = memref.load %arg0[] : memref<vector<4xi32>>
memref.store %0, %arg1[] : memref<vector<4xi32>>
return
}

} // end module
1 change: 1 addition & 0 deletions utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -8317,6 +8317,7 @@ cc_library(
":FuncToSPIRV",
":IR",
":IndexToSPIRV",
":MemRefToSPIRV",
":Pass",
":Rewrite",
":SCFToSPIRV",
Expand Down