Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
200 commits
Select commit Hold shift + click to select a range
8b37260
[UnitTest][ADT] Add iterator operator== (#191396)
aengelke Apr 10, 2026
fb0b737
[SystemZTTI][CostModel] Improve SystemZ cost model for scalar Read-Mo…
anoopkg6 Apr 10, 2026
9791929
[AMDGPU] Do not emit function prologue on naked functions (#191398)
jhuber6 Apr 10, 2026
e267605
[flang][OpenMP] Move check for threadprivate iteration variable (#191…
kparzysz Apr 10, 2026
a72f7fc
[libc] Add generate-libc-headers custom target (#191160)
kaladron Apr 10, 2026
4cd2db4
[LV][NFC] Remove llvm.ident, tbaa and other attributes from tests (#1…
david-arm Apr 10, 2026
e0ac76a
[lldb][Process/FreeBSDKernelCore] Switch to LLDBLog::Process (#191408)
mchoo7 Apr 10, 2026
4367701
[Flang][Docs][NFC] Move OpenMP API extensions to separate document (#…
mjklemm Apr 10, 2026
dfbae3e
[libc++] Fix incorrect links and broken formatting in CSV status file…
ldionne Apr 10, 2026
7074258
[llvm-dwarfdump][LineCov 2/3] Add coverage baseline comparison and li…
unexpectedlydefined Apr 10, 2026
6d2d804
[libc][docs][NFC] Rework GPU building documentation (#191381)
kaladron Apr 10, 2026
cc91188
[lldb][Process/FreeBSDKernelCore] Fix thread ordering (#187976)
mchoo7 Apr 10, 2026
b8ac638
[flang][OpenMP] Add optional SemanticsContext parameter to loop utili…
kparzysz Apr 10, 2026
43d6e38
[compiler-rt] Expose shared DSO helpers for compiler-rt runtimes (#19…
yxsamliu Apr 10, 2026
b35941e
[AMDGPU] Change *-DAG to *-SDAG in check prefixes (#191411)
jayfoad Apr 10, 2026
8926b3c
[LLDB][ProcessFreeBSDKernelCore] Log error when creating kernel image…
aokblast Apr 10, 2026
a7883e5
[bazel] Fix Bazel build issue with #190862 (#191420)
google-yfyang Apr 10, 2026
ca80bda
[MLIR][Linalg] Specialize linalg.generic to linalg.mmt4d (#189719)
steplong Apr 10, 2026
457a644
[libc++] Speed up stable_sort.pass.cpp by reducing redundant test cov…
ldionne Apr 10, 2026
8215fb0
[BOLT] Fix iterator bugs (#190978)
androm3da Apr 10, 2026
c0d4959
[InstCombine] Generalize `(A + 1) + ~B` fold to any constant (#188271)
pfusik Apr 10, 2026
7cf8207
[PatternMatchHelpers] Improve compile time of m_Combine(And|Or) (#191…
artagnon Apr 10, 2026
6ef4e88
Mark llvm/test/ExecutionEngine and llvm/test/Examples tests as UNSUPP…
bahareh-farhadi Apr 10, 2026
078c43c
Fix ml inliner tests after PR #190168 (#191431)
mtrofin Apr 10, 2026
15e46e2
Add new coro test to profcheck-xfail (#191436)
mtrofin Apr 10, 2026
c6bcd19
[OpenMP][OMPT] Fix `omp_control_tool` before any directive (#191429)
Thyre Apr 10, 2026
aeda856
[clang][modules-driver] Apply rule-of-five to CompilationGraph types …
naveen-seth Apr 10, 2026
75ceda1
[clang][modules-driver] Extract logic to feed jobs back into Compilat…
naveen-seth Apr 10, 2026
606b2a4
[LegalizeIntegerTypes] Remove some unnecessary isTypeLegal checks fro…
topperc Apr 10, 2026
0adf9b6
[lldb-dap] Address a race condition in server mode. (#191062)
ashgti Apr 10, 2026
33a4dff
[AsmPrinter] Explicitly use EHStreamer type for EHHandlers (#191288)
boomanaiden154 Apr 10, 2026
aca4300
[compiler-rt] Address dlvsym not found compilation error when targeti…
google-yfyang Apr 10, 2026
d504839
[gsymutil] Fix a warning on systems with 32-bit `off_t` (#189524)
bogner Apr 10, 2026
98845fc
[mlir][tosa] Disallow shape type in function argument/return types (#…
lhutton1 Apr 10, 2026
f5eb99a
[SystemZ][GOFF] Reference to external variable needs PR symbol (#185742)
redstar Apr 10, 2026
16e015b
[NFC][lldb] Use `ASTContext::getPromotedIntegerType` for integral pro…
kuilpd Apr 10, 2026
0278214
[LifetimeSafety] Fix crash on ternary operator when one of the expres…
NeKon69 Apr 10, 2026
05bfe73
[compiler-rt] Address dlvsym not found compilation error when targeti…
google-yfyang Apr 10, 2026
be1bc28
[Clang] Permit '--target=amdgcn--' for binaries (#191451)
jhuber6 Apr 10, 2026
c94f798
Strip .llvm. suffix after removing the coroutine suffixes to avoid br…
HighW4y2H3ll Apr 10, 2026
95778b2
[ADT][NFC] Make po iterator stack entry trivially copyable (#191290)
aengelke Apr 10, 2026
5cf1a5d
Stop using spir_kernel calling convention on non-SPIR targets. (#191090)
efriedma-quic Apr 10, 2026
2cf353b
[LifetimeSafety] Flow origins from lifetimebound args in `gsl::Pointe…
NeKon69 Apr 10, 2026
c801f0c
[LoopUnrollAndJam] Fix out-of-date LoopInfo being used during unroll…
CongzheUalberta Apr 10, 2026
8295c74
[AMDGPU] Documentation files for GFX950 instructions (#184710)
jwanggit86 Apr 10, 2026
03bb874
Disable MSVC-incompatible portions of `disable_container_overflow_che…
davidmrdavid Apr 10, 2026
d5a8af5
[AMDGPU] IGroupLP: Fix BestCost assignment in greedy solver (NFC) (#1…
frederik-h Apr 10, 2026
e3589e8
[clang-doc] Make test alias depend on the unit test binary (#190014)
ilovepi Apr 10, 2026
b99c146
[clang-doc] Make CommentInfo arena allocated (#190050)
ilovepi Apr 10, 2026
6ce8481
[AMDGPU] Always update SETREG MSBs if offset is 0 (#191362)
rampitec Apr 10, 2026
f0004d8
[scudo] Remove fill when realloc to smaller size. (#191321)
cferris1000 Apr 10, 2026
1a3cf72
[NFC][SSAF] Move EntityPointerLevel to a separate folder (#191331)
ziqingluo-90 Apr 10, 2026
86c307d
[clang-doc] Consolidate merging logic (#190051)
ilovepi Apr 10, 2026
2cd49f7
[flang][OpenMP] Rename GetRequiredCount to GetMinimumSequenceCount (#…
kparzysz Apr 10, 2026
e4b93b7
[libc] implement rewind (#191302)
michaelrj-google Apr 10, 2026
05ffd0d
[CIR] Handle globals with vptr init (#191291)
andykaylor Apr 10, 2026
2ae4ddd
Revert "[NFC][SSAF] Move EntityPointerLevel to a separate folder" (#1…
ziqingluo-90 Apr 10, 2026
20dc214
[clang] fix crash on qualified friend function definitions (#186398)
Serosh-commits Apr 10, 2026
7a4a1e9
[LV,LAA] Add tests showing incorrect SCEV predicate reasoning. (NFC) …
fhahn Apr 10, 2026
41ade98
[WebAssembly] Fix attributes of exception_grouping_2 test (#191466)
aheejin Apr 10, 2026
dd2ba5b
[AMDGPU] Added a debug counter to Rewrite AGPR-Copy-MFMA pass (#189437)
dhruvachak Apr 10, 2026
9e5d363
[AMDGPU][SIInsertWaitcnts][NFC] Drop `using llvm::AMDGPU` (#180782)
vporpo Apr 10, 2026
ab64532
[gn] port 6175a4d455e1 (#191503)
nico Apr 10, 2026
2490ee3
[CIR][ABI] Add ABI metadata fields to RecordType (#188300)
adams381 Apr 10, 2026
f39386b
[MLIR][XeVM] Update XeVM type converter (#189306)
silee2 Apr 10, 2026
3aff10d
[MLIR][XeVM] Update HandleVectorExtract pattern. (#191052)
silee2 Apr 10, 2026
5c0d5ff
[flang][NFC] Converted five tests from old lowering to new lowering (…
eugeneepshteyn Apr 10, 2026
ae7f902
[RISCV] Remove RISCVCCAssignFn and Simplify (#191071)
lenary Apr 10, 2026
47eb8b4
[UnitTests] Enable PCH (#191402)
aengelke Apr 10, 2026
5b5a2ad
[clang] Improve Ofast Warning (#183002)
lenary Apr 10, 2026
fc43928
[gn] put hlsl generated headers in hlsl/ subdirectory (#191513)
nico Apr 10, 2026
d2786ec
[NFC][compiler-rt][test] Fix indentation in lit.common.cfg.py (#191509)
vitalybuka Apr 10, 2026
b2b7dfa
[AArch64][GISel] Update and regenerate arm64-this-return.ll (#191515)
davemgreen Apr 10, 2026
1121af7
[SystemZ][z/OS] Remove use of subsections. (#184167)
redstar Apr 10, 2026
501417b
[RISC-V][LoongArch] Revert Musttail Fixes (#191508)
lenary Apr 10, 2026
744d8ef
[clang-doc] Move non-arena allocated types off the OwnedPtr alias (#1…
ilovepi Apr 10, 2026
1d1572c
[LoopUnroll] Fix out-of-date LoopInfo being used during unroll (#191505)
CongzheUalberta Apr 10, 2026
16f20b6
[LV] Header masked condition of FindLastSelect when optimizeFindIVRed…
ElvisWang123 Apr 10, 2026
f0279c1
[clang][ssaf] Don't try to link SSAFExamplePlugin on Windows (#191401)
mstorsjo Apr 10, 2026
fa2fc2a
[clang-doc] Simplify parsing and reading bitcode blocks (#190053)
ilovepi Apr 10, 2026
882f37c
[Offload] Fix inefficient GNU Hash ELF symbol lookup (#191477)
jhuber6 Apr 10, 2026
ef44a99
[Modules] Enrich diags for out of date module dependencies (#190203)
cyndyishida Apr 10, 2026
392336b
[TargetLowering] Use 0 for add constant for power of 2 divisors in pr…
topperc Apr 10, 2026
11a8026
[cmake] Add support for statically linking libxml2 (#166867)
keith Apr 10, 2026
b6671f8
[lldb] [windows] Add a [[fallthrough]] to silence warnings. NFC. (#19…
mstorsjo Apr 10, 2026
2749912
SymbolizableObjectFile: Invalidate Wasm addresses that map outside th…
dschuff Apr 10, 2026
d3318f8
[clang-doc] Move Info types into arenas (#190054)
ilovepi Apr 10, 2026
5ec1fb2
Revert "RuntimeLibcalls: Add mustprogress to common function attribut…
arsenm Apr 10, 2026
80cc28b
[VPlan] Normalize selects in optimizeFindIVReductions. (#191517)
fhahn Apr 10, 2026
2868050
[RISCV][NFC] Improve Vararg Comment/Assert (#191527)
lenary Apr 10, 2026
93c10f0
[AMDGPU] Use WriteSALUDummy for v_mad_u64_u32 (#191500)
jrbyrnes Apr 10, 2026
c70dae8
[clang-doc] Support deep copy between arenas for merging (#190055)
ilovepi Apr 10, 2026
40fcf42
[MLIR][XeVM] Add inital support for mma_mx or scaled mma. (#190989)
silee2 Apr 10, 2026
9faf7b8
[gn build] Port 0d640409ad96 (#191538)
nico Apr 10, 2026
85b30f4
[gn build] Port 11e7a49a58e1 (#191539)
nico Apr 10, 2026
1be577b
[gn build] Port 430e1be254f9 (#191540)
nico Apr 10, 2026
db8d5f0
[gn build] Port 5706ee3d4d7d (#191541)
nico Apr 10, 2026
4320a39
[gn build] Port 5e0efc0f1d79 (#191542)
nico Apr 10, 2026
084792a
[gn build] Port ab6394d21a59 (#191543)
nico Apr 10, 2026
cc3050a
[gn build] Port cfdd8bcca85a (#191544)
nico Apr 10, 2026
3b6471b
[gn build] Port d0a54493b3e9 (#191545)
nico Apr 10, 2026
8de7ee4
[gn build] Port f149ab665a4b (#191546)
nico Apr 10, 2026
767979a
[gn build] Port f2b33d794d36 (#191547)
nico Apr 10, 2026
6dc059a
[clang][diagtool] Remove dependency on clangDriver from diagtool (#19…
naveen-seth Apr 10, 2026
96b1ae7
[flang][OpenMP] Use common utility functions to get affected nest dep…
kparzysz Apr 10, 2026
21e0034
[clang-doc] Merge data into persistent memory (#190056)
ilovepi Apr 10, 2026
2f422a5
[Codegen, X86] Add prefetch insertion based on Propeller profile (#16…
rlavaee Apr 10, 2026
bd3088e
[mlir][sparse][gpu] fix sparse GPU codegen out buffer (#189221)
secona Apr 10, 2026
5d64a44
[clang-doc] Initialize member variable (#191570)
ilovepi Apr 10, 2026
0074bfd
[Support] On Windows, silence FARPROC casts (#191563)
aganea Apr 10, 2026
889d5bd
[flang][CUF] Limit Flang LICM for operations with symbol operands. (#…
vzakhari Apr 11, 2026
4f49847
[flang] Detect non-optional boxes inside acc.compute_region. (#191328)
vzakhari Apr 11, 2026
e266936
[Bazel] Fixes bd3088e (#191571)
forking-google-bazel-bot[bot] Apr 11, 2026
afce975
Fix duplicate quant bytecode test to actually test storage-type-only …
ggambon Apr 11, 2026
ea8554e
Changed stat passes to count instructions before and after optimizati…
InakiVA Apr 11, 2026
3a47349
[lld][AMDGPU] Support R_AMDGPU_ABS32_(LO|HI) relocations (#191550)
jhuber6 Apr 11, 2026
8378b6d
[MLIR][XeGPU] Lower vector.multi_reduction to vector.reduction for la…
nbpatel Apr 11, 2026
a3ae5b5
Revert "[lld][AMDGPU] Support R_AMDGPU_ABS32_(LO|HI) relocations" (#1…
MaskRay Apr 11, 2026
f6167ec
[clang-tidy] Fix FP in bugprone-exception-escape with unevaluated exc…
zeyi2 Apr 11, 2026
94a7b67
[MC] Remove MCTargetOptions parameter from MCContext constructor (#19…
MaskRay Apr 11, 2026
193d7a6
[MC,CodeGen] Update .prefalign for symbol-based preferred alignment (…
MaskRay Apr 11, 2026
79dfa88
[clang][modules-driver] Add missing PrependArg for Clang module preco…
naveen-seth Apr 11, 2026
6c4bd0b
[compiler-rt] Disable soft_rss_limit_mb_test.cpp (#191370)
zmodem Apr 11, 2026
cfcf59c
[WebAssembly] Remove ExceptionInfo grouping tweaks (NFC) (#191495)
aheejin Apr 11, 2026
fc12e59
Reland "[NFC][SSAF] Move EntityPointerLevel to a separate folder" (#1…
ziqingluo-90 Apr 11, 2026
870f8d9
[NFC][AMDGPU] Fix `gfx90a`+ MFMA builtins (#191537)
AlexVlx Apr 11, 2026
1ed2769
[libc++][test] Improve `fold_left` `check_lvalue_range` coverage. (#…
c8ef Apr 11, 2026
8560959
[libc++][mdspan] Fix layout_stride->layout_right test (#191611)
eiytoq Apr 11, 2026
f5379e6
[X86] gfni-tzcnt/lzcnt - add bitalg test coverage showing failure to …
RKSimon Apr 11, 2026
a26c1d1
[SLP] Fix CmpInst type handling in cost model
alexey-bataev Apr 11, 2026
8ac9461
[SLP] Reject 2-element vectorization when vector inst count exceeds s…
alexey-bataev Apr 11, 2026
00ccd11
[clang-tidy] Add IgnoreMacros option to readability-redundant-member-…
vbvictor Apr 11, 2026
54d4bf2
[OpenMP] Fix nondependent inscan variables in templated functions (#1…
ro-i Apr 11, 2026
67a0ff6
[SLP][REVEC] Fix InsertElement scalar type in getEntryCost
alexey-bataev Apr 11, 2026
e2bb91c
[mlir] Fix warning when building on Windows (#191558)
aganea Apr 11, 2026
c5547ca
[LV] Unconditionally run materializeConstVTC in ::executePlan (#191299)
fhahn Apr 11, 2026
9dd1eb4
[SCEV] Bail out on wider AddRecs in SCEVWrapPrediacte::implies. (#191…
fhahn Apr 11, 2026
eda97dd
[libc++][NFC] Sync `<mdspan>` synopsis and remove redundant `typename…
eiytoq Apr 11, 2026
76584a8
[lldb] Fix output of `help format` (#190409)
s-barannikov Apr 11, 2026
42127fa
[AMDGPU][Scheduler] Prepare remat stage for rematerializer integratio…
lucas-rami Apr 11, 2026
9ab2c57
[RISCV] Add missing Zvfbfa isel patterns for VFSLIDE1UP/DOWN. (#191578)
topperc Apr 11, 2026
489dab3
[clang-doc] Initialize StringRef members in Info types (#191637)
ilovepi Apr 11, 2026
d35cd21
[RISCV] Consistently use hasVInstructionsF16/BF16(). NFC (#191592)
topperc Apr 11, 2026
0311157
[lldb][Platform] Use the module's FileSpec instead of the script's Fi…
Michael137 Apr 11, 2026
155b9b3
[clang-doc][nfc] Default initialize all StringRef members (#191641)
ilovepi Apr 11, 2026
0fd821d
[Clang] Track constraint's SubstIndex only if it contains outer param…
zyn0217 Apr 11, 2026
2a54bf5
[NFC][AMDGPU] clang-format llvm/lib/Target/AMDGPU/AMDGPULowerModuleLD…
shiltian Apr 11, 2026
c382b58
[AsmPrinter] Use AsmPrinterAnalysis to hold AsmPrinter
boomanaiden154 Apr 11, 2026
ed395c8
[AMDGPU] Use value's DebugLoc for bitcast in performStoreCombine (#18…
jwu10003 Apr 11, 2026
0c0ae37
[clang-format] Update QtPropertyKeywords to Qt 6.11 documentation (#1…
zeule Apr 11, 2026
ecc283a
[flang-rt] Fix warnings on Windows (#191562)
aganea Apr 11, 2026
4fb5b78
[CMake] Enable static libxml2 for Fuchsia toolchain (#191657)
petrhosek Apr 11, 2026
5347264
[LLDB] Silence warnings when building on Windows (#191566)
aganea Apr 11, 2026
4b2c155
[libc++][ranges][NFC] Mark LWG3947 as implemented (#191642)
H-G-Hristov Apr 12, 2026
af209b6
[RISCV] Split LMUL=8 f16 fixed vector (s/u)ittofp/fpto(s/u)i before p…
topperc Apr 12, 2026
b6c8cba
[ELF] Move ++nextGroupId from InputFile ctor to callers. NFC (#191685)
MaskRay Apr 12, 2026
2798a10
[Clang-tidy] Add dummy compile_commands.json for broken test (#191635)
aengelke Apr 12, 2026
5bac067
[Flang] Mark save-mlir-temps.f90 unsupported (#191686)
boomanaiden154 Apr 12, 2026
afc41b9
[clang][bytecode] Fix implicit-cast-complex-to-vector test (#191662)
tbaederr Apr 12, 2026
f550954
[libc++][atomics] P3936R1: Safer ``atomic_ref::address`` (#189761)
H-G-Hristov Apr 12, 2026
1dc46a2
Clean Code. NFC (#191403)
hstk30-hw Apr 12, 2026
67c893e
[libc++][format] P3953R3: Rename `std::runtime_format` (#189657)
H-G-Hristov Apr 12, 2026
52c6217
[X86] LowerCTTZ - prefer legal CTPOP expansion vs GFNI to avoid const…
RKSimon Apr 12, 2026
eff545b
[X86] Add common avx512_binary_lowering matcher for NonVLX binary op …
RKSimon Apr 12, 2026
b7febd7
[X86] Convert VPABSQ NonVLX patterns to use avx512_unary_lowering hel…
RKSimon Apr 12, 2026
de56830
[clang][bytecode] Handle zero pointers in `isConstexprUnknown()` (#19…
tbaederr Apr 12, 2026
abc1ec1
[flang] clang-format flang/lib/Semantics/resolve-directives.cpp (#191…
kparzysz Apr 12, 2026
2137d5f
[X86][APX] Return CopyMI when added in foldMemoryOperandImpl (#191368)
phoebewang Apr 12, 2026
6911faf
[InstCombine] Fix FMF propagation in `foldFNegIntoConstant` (#191653)
dtcxzyw Apr 12, 2026
4af3960
[InstCombine] Improve suboptimal simplification for more than one use…
MaxGraey Apr 12, 2026
34c8339
[flang][OpenMP] Update comments, NFC (#191709)
kparzysz Apr 12, 2026
b31d8bc
[JITLink] Use NonOwningSymbolStringPtrs in ExternalSymbolsMap. (#191634)
lhames Apr 12, 2026
be62f27
[AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization…
lucas-rami Apr 12, 2026
48ad929
[libc++][numeric] P4052R0: Renaming saturation arithmetic functions (…
H-G-Hristov Apr 12, 2026
b844cc8
[libc++][ranges] LWG3610: `iota_view::size` sometimes rejects integer…
H-G-Hristov Apr 12, 2026
778c0fb
[SLP] Fix GEP cost computation for load vectorization cost estimates
alexey-bataev Apr 12, 2026
b444d1d
Revert "[AMDGPU][Scheduler] Use MIR-level rematerializer in remateria…
alexey-bataev Apr 12, 2026
636dbc8
[clang][bytecode] Support different integral types (e.g. addresses) (…
tbaederr Apr 12, 2026
e9cd683
[RISCV] Enable vfslide1up/down for bf16 shuffles with Zvfbfa. (#191608)
topperc Apr 12, 2026
1d1208b
[SLP]Fix dominance failure when value is copyable in one PHI entry bu…
alexey-bataev Apr 12, 2026
90d3515
Revert "[SLP] Fix GEP cost computation for load vectorization cost es…
alexey-bataev Apr 12, 2026
8113b98
[InstCombine] Missed fold: umax(x, C) > ~x -> x < 0 (#189396)
MadhurKumar004 Apr 12, 2026
6c77981
[ORC] Move MemoryAccess ownership out of ExecutorProcessControl. (#19…
lhames Apr 12, 2026
183660d
[SLP] Fix GEP cost computation for load vectorization cost estimates
alexey-bataev Apr 12, 2026
0ab10d1
ValueTracking: Handle frexp exp in computeKnownConstantRange (#191282)
arsenm Apr 12, 2026
7c872e9
[SLP][NFC]Add a test with the reordering of the RHS/LHS operands for …
alexey-bataev Apr 12, 2026
b799b38
[AsmPrinter] Fix redundant/weaker .prefalign when IR align attr >= pr…
MaskRay Apr 12, 2026
56775ba
[llubi] Fix invalid printf format specifier for %c (#191713)
jsji Apr 12, 2026
5b1b0ef
[Clang][diagtool] Fix memory leak in ShowEnabledWarnings (#191711)
jsji Apr 12, 2026
029e5b0
[clang-format] treat continuation as indent for aligned lines (#191217)
zeule Apr 12, 2026
717ba7c
[VPlan] Handle calls in VPInstruction:opcodeMayReadOrWriteFromMemory.…
fhahn Apr 12, 2026
c0fbdb2
[clang][bytecode] Stop using QualTypes when checking evaluation resul…
tbaederr Apr 12, 2026
d946ac3
[CallGraphUpdater] Replace dead function in metadata with null instea…
ro-i Apr 12, 2026
e62acf4
[NFC][LLVM] Rename IRBuilder/LLVM C API params for overload types (#1…
jurahul Apr 12, 2026
2c28158
[LLVM][Intrinsics] Eliminate range check for IIT table in `DecodeIITT…
jurahul Apr 12, 2026
00328f1
[flang][NFC] Fix typo in comment for multi-image environment (#191722)
StepfenShawn Apr 12, 2026
7b94b9a
[libclc] Refine generic __clc_get_sub_group_size with fast full sub-g…
wenju-he Apr 13, 2026
507d823
[LSR] Use TTI to check if zero-start IV is free in getSetupCost (#190…
wenju-he Apr 13, 2026
121f5a9
[libclc] Enable LLVM_RUNTIME_TARGETS in build system (#189892)
wenju-he Apr 13, 2026
bfef0cf
merge main into amd-main
z1-cciauto Apr 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 14 additions & 3 deletions .ci/compute_projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@
"openmp", # https://github.com/google/llvm-premerge-checks/issues/410
}

# Runtimes configured for cross-compilation using LLVM_RUNTIME_TARGETS.
# The same build may also use LLVM_ENABLE_RUNTIMES for other runtimes.
CROSS_COMPILATION_RUNTIMES = {
"libclc",
}

EXCLUDE_WINDOWS = {
"cross-project-tests", # TODO(issues/132797): Tests are failing.
"openmp", # TODO(issues/132799): Does not detect perl installation.
Expand Down Expand Up @@ -147,7 +153,7 @@
"flang": "check-flang",
"flang-rt": "check-flang-rt",
"libc": "check-libc",
"libclc": "check-libclc",
"libclc": "check-libclc-amdgcn-amd-amdhsa-llvm",
"lld": "check-lld",
"lldb": "check-lldb",
"mlir": "check-mlir",
Expand Down Expand Up @@ -276,7 +282,9 @@ def _compute_runtimes_to_build(
for modified_project in modified_projects:
if modified_project in DEPENDENT_RUNTIMES_TO_BUILD:
runtimes_to_build.update(DEPENDENT_RUNTIMES_TO_BUILD[modified_project])
return _exclude_projects(runtimes_to_build, platform)
runtimes_to_build = _exclude_projects(runtimes_to_build, platform)
runtimes_to_build -= CROSS_COMPILATION_RUNTIMES
return runtimes_to_build


def _path_matches(matcher: tuple[str], file_path: tuple[str]) -> bool:
Expand Down Expand Up @@ -320,7 +328,10 @@ def get_env_variables(modified_files: list[str], platform: str) -> Set[str]:
runtimes_to_build = _compute_runtimes_to_build(
runtimes_to_test | runtimes_to_test_needs_reconfig, modified_projects, platform
)
projects_to_build = _compute_projects_to_build(projects_to_test, runtimes_to_build)
cross_runtimes_to_test = runtimes_to_test & CROSS_COMPILATION_RUNTIMES
projects_to_build = _compute_projects_to_build(
projects_to_test, runtimes_to_build | cross_runtimes_to_test
)
projects_check_targets = _compute_project_check_targets(projects_to_test)
runtimes_check_targets = _compute_project_check_targets(runtimes_to_test)
runtimes_check_targets_needs_reconfig = _compute_project_check_targets(
Expand Down
23 changes: 13 additions & 10 deletions .ci/compute_projects_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,8 +265,11 @@ def test_include_libclc_in_runtimes(self):
)
self.assertEqual(env_variables["projects_to_build"], "clang;llvm")
self.assertEqual(env_variables["project_check_targets"], "")
self.assertEqual(env_variables["runtimes_to_build"], "libclc")
self.assertEqual(env_variables["runtimes_check_targets"], "check-libclc")
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-libclc-amdgcn-amd-amdhsa-llvm",
)
self.assertEqual(env_variables["runtimes_check_targets_needs_reconfig"], "")

def test_exclude_docs(self):
Expand Down Expand Up @@ -303,11 +306,11 @@ def test_ci(self):
)
self.assertEqual(
env_variables["runtimes_to_build"],
"compiler-rt;flang-rt;libc;libclc;libcxx;libcxxabi;libunwind",
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-compiler-rt check-flang-rt check-libc check-libclc",
"check-compiler-rt check-flang-rt check-libc check-libclc-amdgcn-amd-amdhsa-llvm",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
Expand All @@ -328,11 +331,11 @@ def test_windows_ci(self):
)
self.assertEqual(
env_variables["runtimes_to_build"],
"compiler-rt;libclc",
"compiler-rt",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-compiler-rt check-libclc",
"check-compiler-rt check-libclc-amdgcn-amd-amdhsa-llvm",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
Expand Down Expand Up @@ -377,11 +380,11 @@ def test_premerge_workflow(self):
)
self.assertEqual(
env_variables["runtimes_to_build"],
"compiler-rt;flang-rt;libc;libclc;libcxx;libcxxabi;libunwind",
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-compiler-rt check-flang-rt check-libc check-libclc",
"check-compiler-rt check-flang-rt check-libc check-libclc-amdgcn-amd-amdhsa-llvm",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
Expand Down Expand Up @@ -412,11 +415,11 @@ def test_third_party_benchmark(self):
)
self.assertEqual(
env_variables["runtimes_to_build"],
"compiler-rt;flang-rt;libc;libclc;libcxx;libcxxabi;libunwind",
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-compiler-rt check-flang-rt check-libc check-libclc",
"check-compiler-rt check-flang-rt check-libc check-libclc-amdgcn-amd-amdhsa-llvm",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
Expand Down
12 changes: 10 additions & 2 deletions .ci/monolithic-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@ enable_cir="${6}"

lit_args="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml --use-unique-output-file-name --timeout=1200 --time-tests --succinct"

runtime_cmake_args=()
if [[ " ${runtime_targets} " == *" check-libclc-amdgcn-amd-amdhsa-llvm "* ]]; then
runtime_cmake_args+=(
-D RUNTIMES_amdgcn-amd-amdhsa-llvm_LLVM_ENABLE_RUNTIMES=libclc
-D LLVM_RUNTIME_TARGETS="default;amdgcn-amd-amdhsa-llvm"
)
fi

start-group "CMake"

# Set the system llvm-symbolizer as preferred.
Expand All @@ -56,14 +64,14 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache \
-D CMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
-D LIBCXX_CXX_ABI=libcxxabi \
-D LIBCLC_TARGETS_TO_BUILD="amdgcn-amd-amdhsa-llvm" \
-D MLIR_ENABLE_BINDINGS_PYTHON=ON \
-D LLDB_ENABLE_PYTHON=ON \
-D LLDB_ENFORCE_STRICT_TEST_REQUIREMENTS=ON \
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
-D CMAKE_EXE_LINKER_FLAGS="-no-pie" \
-D LLVM_ENABLE_WERROR=ON \
-D LLVM_BINUTILS_INCDIR=/usr
-D LLVM_BINUTILS_INCDIR=/usr \
"${runtime_cmake_args[@]}"

start-group "ninja"

Expand Down
12 changes: 10 additions & 2 deletions .ci/monolithic-windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,14 @@ targets="${2}"
runtimes="${3}"
runtimes_targets="${4}"

runtime_cmake_args=()
if [[ " ${runtimes_targets} " == *" check-libclc-amdgcn-amd-amdhsa-llvm "* ]]; then
runtime_cmake_args+=(
-D RUNTIMES_amdgcn-amd-amdhsa-llvm_LLVM_ENABLE_RUNTIMES=libclc
-D LLVM_RUNTIME_TARGETS="default;amdgcn-amd-amdhsa-llvm"
)
fi

start-group "CMake"
pip install -q -r "${MONOREPO_ROOT}"/.ci/all_requirements.txt

Expand All @@ -45,11 +53,11 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache \
-D CMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
-D MLIR_ENABLE_BINDINGS_PYTHON=ON \
-D LIBCLC_TARGETS_TO_BUILD="amdgcn-amd-amdhsa-llvm" \
-D CMAKE_EXE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_MODULE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_SHARED_LINKER_FLAGS="/MANIFEST:NO" \
-D LLVM_ENABLE_RUNTIMES="${runtimes}"
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
"${runtime_cmake_args[@]}"

start-group "ninja"

Expand Down
10 changes: 6 additions & 4 deletions bolt/include/bolt/Passes/DataflowAnalysis.h
Original file line number Diff line number Diff line change
Expand Up @@ -404,10 +404,12 @@ class DataflowAnalysis {
// Propagate information from first instruction down to the last one
StateTy *PrevState = &St;
const MCInst *LAST = nullptr;
if (!Backward)
LAST = &*BB->rbegin();
else
LAST = &*BB->begin();
if (!BB->empty()) {
if (!Backward)
LAST = &*BB->rbegin();
else
LAST = &*BB->begin();
}

auto doNext = [&](MCInst &Inst, const BinaryBasicBlock &BB) {
StateTy CurState = derived().computeNext(Inst, *PrevState);
Expand Down
5 changes: 4 additions & 1 deletion bolt/lib/Passes/AllocCombiner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ static void runForAllWeCare(std::map<uint64_t, BinaryFunction> &BFs,
void AllocCombinerPass::combineAdjustments(BinaryFunction &BF) {
BinaryContext &BC = BF.getBinaryContext();
for (BinaryBasicBlock &BB : BF) {
SmallVector<MCInst *, 2> ToErase;
MCInst *Prev = nullptr;
for (MCInst &Inst : llvm::reverse(BB)) {
if (isIndifferentToSP(Inst, BC))
Expand Down Expand Up @@ -94,12 +95,14 @@ void AllocCombinerPass::combineAdjustments(BinaryFunction &BF) {
Inst.dump();
});

BB.eraseInstruction(BB.findInstruction(Prev));
ToErase.push_back(Prev);
++NumCombined;
DynamicCountCombined += BB.getKnownExecutionCount();
FuncsChanged.insert(&BF);
Prev = &Inst;
}
for (MCInst *Inst : ToErase)
BB.eraseInstruction(BB.findInstruction(Inst));
}
}

Expand Down
3 changes: 1 addition & 2 deletions bolt/lib/Passes/IndirectCallPromotion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -775,8 +775,7 @@ IndirectCallPromotion::rewriteCall(
InstructionListType TailInsts;
const MCInst *TailInst = &CallInst;
if (IsTailCallOrJT)
while (TailInst + 1 < &(*IndCallBlock.end()) &&
MIB->isPseudo(*(TailInst + 1)))
while (TailInst != &IndCallBlock.back() && MIB->isPseudo(*(TailInst + 1)))
TailInsts.push_back(*++TailInst);

InstructionListType MovedInst = IndCallBlock.splitInstructions(&CallInst);
Expand Down
12 changes: 9 additions & 3 deletions bolt/lib/Passes/ShrinkWrapping.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1887,13 +1887,16 @@ Expected<bool> ShrinkWrapping::processInsertions() {
void ShrinkWrapping::processDeletions() {
LivenessAnalysis &LA = Info.getLivenessAnalysis();
for (BinaryBasicBlock &BB : BF) {
for (auto II = BB.begin(); II != BB.end(); ++II) {
for (auto II = BB.begin(); II != BB.end();) {
MCInst &Inst = *II;
auto TodoList = BC.MIB->tryGetAnnotationAs<std::vector<WorklistItem>>(
Inst, getAnnotationIndex());
if (!TodoList)
if (!TodoList) {
++II;
continue;
}
// Process all deletions
bool Erased = false;
for (WorklistItem &Item : *TodoList) {
if (Item.Action != WorklistItem::Erase &&
Item.Action != WorklistItem::ChangeToAdjustment)
Expand All @@ -1916,9 +1919,12 @@ void ShrinkWrapping::processDeletions() {
dbgs() << "Erasing: ";
BC.printInstruction(dbgs(), Inst);
});
II = std::prev(BB.eraseInstruction(II));
II = BB.eraseInstruction(II);
Erased = true;
break;
}
if (!Erased)
++II;
}
}
}
Expand Down
14 changes: 10 additions & 4 deletions bolt/lib/Passes/TailDuplication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -167,18 +167,22 @@ void TailDuplication::constantAndCopyPropagate(

BlocksToPropagate.insert(BlocksToPropagate.begin(), &OriginalBB);
// Iterate through the original instructions to find one to propagate
for (auto Itr = OriginalBB.begin(); Itr != OriginalBB.end(); ++Itr) {
for (auto Itr = OriginalBB.begin(); Itr != OriginalBB.end();) {
MCInst &OriginalInst = *Itr;
// It must be a non conditional
if (BC.MIB->isConditionalMove(OriginalInst))
if (BC.MIB->isConditionalMove(OriginalInst)) {
++Itr;
continue;
}

// Move immediate or move register
if ((!BC.MII->get(OriginalInst.getOpcode()).isMoveImmediate() ||
!OriginalInst.getOperand(1).isImm()) &&
(!BC.MII->get(OriginalInst.getOpcode()).isMoveReg() ||
!OriginalInst.getOperand(1).isReg()))
!OriginalInst.getOperand(1).isReg())) {
++Itr;
continue;
}

// True if this is constant propagation and not copy propagation
bool ConstantProp = BC.MII->get(OriginalInst.getOpcode()).isMoveImmediate();
Expand Down Expand Up @@ -247,7 +251,9 @@ void TailDuplication::constantAndCopyPropagate(
// to replace is active for constant propagation
StaticInstructionDeletionCount++;
DynamicInstructionDeletionCount += OriginalBB.getExecutionCount();
Itr = std::prev(OriginalBB.eraseInstruction(Itr));
Itr = OriginalBB.eraseInstruction(Itr);
} else {
++Itr;
}
}
}
Expand Down
Loading