Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
1308 commits
Select commit Hold shift + click to select a range
d5f98f3
[MLIR] Apply clang-tidy fixes for performance-unnecessary-copy-initia…
joker-eph Aug 21, 2025
93c8305
[clang][bytecode] Fix integral cast edge case (#161506)
tbaederr Oct 1, 2025
a374017
[mlir][memref] Introduce `memref.distinct_objects` op (#156913)
Hardcode84 Oct 1, 2025
2a96d19
[lldb][CPlusPlusLanguage] Avoid redundant const char* -> StringRef ro…
Michael137 Oct 1, 2025
da16057
[MLIR] Remove unused debug macros (NFC)
joker-eph Oct 1, 2025
3a34710
[NFC][LLVM][AsmWriter] Move type printing to `WriteAsOperandInternal`…
jurahul Oct 1, 2025
372d3fb
[CodeGen] Remove `shouldExpandPartialReductionIntrinsic()` hook (NFC)…
MacDue Oct 1, 2025
b413ac1
[NFC][AArch64][ISEL] Remove unnecessary predicates from partial_reduc…
paulwalker-arm Sep 30, 2025
a33544b
[OpenACC][CIR] Implement 'alloca copying' for private lowering (#161382)
erichkeane Oct 1, 2025
f4d18c0
[MLIR][Transform][Tune] Introduce `transform.tune.alternatives` op (#…
rolfmorel Oct 1, 2025
8df0575
AMDGPU: Add peephole opt baseline tests (#161309)
arsenm Oct 1, 2025
2e5a5fd
[X86] Add test showing failure to remove sign splats from PACKSS intr…
RKSimon Oct 1, 2025
c090548
[InstCombine] Drop poison-generating flags when reusing existing or i…
dtcxzyw Oct 1, 2025
73d9974
[InstCombine] Avoid self-replacing in `getUndefReplacement` (#161500)
dtcxzyw Oct 1, 2025
a05e004
[DFAJumpThreading] Unfold select to the incoming block of phi user (#…
XChy Oct 1, 2025
ca1ff80
[MLIR] Add sincos fusion pass (#161413)
ashermancinelli Oct 1, 2025
58c959b
[AMDGPU] Use common allUsesAvailableAt implementation [nfc] (#161418)
preames Oct 1, 2025
cd0f560
[AArch64][SME] Precommit tests for LUT4I `Chain` issues (NFC) (#161505)
MacDue Oct 1, 2025
8f77621
[clang] Convert second arg of __builtin_assume_aligned to ConstantExp…
tbaederr Oct 1, 2025
50c8e5d
[X86] SimplifyDemandedBitsForTargetNode - generalize X86ISD::VSRAI ha…
RKSimon Oct 1, 2025
13ce5f2
[OpenACC] Remove unnecessary uses of `getResult`, fix cast tests (#16…
erichkeane Oct 1, 2025
9e0c0a0
[LLVM][SCEV] udiv (mul nuw a, vscale), (mul nuw b, vscale) -> udiv a,…
paulwalker-arm Oct 1, 2025
edb80a8
[lldb][test] Fix bf16 test cases on Arm 32-bit (#161528)
DavidSpickett Oct 1, 2025
664b227
[LV] Keep duplicate recipes in VPExpressionRecipe (#156976)
SamTebbs33 Oct 1, 2025
7ae3eca
[lldb][test] Allow '.c' files to be used as shell tests (#161520)
Michael137 Oct 1, 2025
f33564b
[lldb][NFCI] Remove the non-const reference Mangled::GetMangledName a…
Michael137 Oct 1, 2025
0e17fb5
[CIR] Implement GenericSelectionExpr for AggregateExpr (#161003)
AmrDeveloper Oct 1, 2025
1c7f40b
[X86] X86ISD::PACKSS/US do not create undef/poison (#161534)
RKSimon Oct 1, 2025
825d82d
[NFC][LLVM] Misc code cleanup in AsmWriter.cpp (#161522)
jurahul Oct 1, 2025
9f7e7f7
[lldb][MachO] Fix inspection of global variables that start with 'O' …
Michael137 Oct 1, 2025
aee99e8
[WebAssembly] Define llvm-internal WasmEH tags in compiler-rt (#160959)
sbc100 Oct 1, 2025
23e0815
[lldb][MachO][NFC] Extract ObjC metadata symbol parsing into helper f…
Michael137 Oct 1, 2025
59fe840
[LV] Use StringRef::consume_front. NFC (#161454)
topperc Oct 1, 2025
0e124b9
[ADT] Use "if constexpr" with shouldReverseIterate (#161477)
kazutakahirata Oct 1, 2025
190826c
[ADT, Support] Drop extraneous std::bool_constant (NFC) (#161478)
kazutakahirata Oct 1, 2025
09dbb3e
[Support] Use a C++17 fold expression in a static_assert (NFC) (#161479)
kazutakahirata Oct 1, 2025
515660d
[Support] Make getMaxValue and getMinValue constexpr variables (NFC) …
kazutakahirata Oct 1, 2025
a6bf271
[llvm] Proofread DirectXUsage.rst (#161481)
kazutakahirata Oct 1, 2025
bb16c56
[LoopIdiom] Fix a DL-related crash in optimizeCRCLoop (#161509)
artagnon Oct 1, 2025
cbaf3c6
Add test to show save-temps is broken for amdgcn target. (#161472)
carlobertolli Oct 1, 2025
91c35d6
[gn] port aee99e8015da
nico Oct 1, 2025
a9b8dfe
[libc++] Add a script to find outliers and re-run candidates in LNT r…
ldionne Oct 1, 2025
8907b6d
[VPlan] Remove original loop blocks if dead. (#155497)
fhahn Oct 1, 2025
240b73e
[SimplifyCFG][PGO] Reuse existing `setBranchWeights` (#160629)
mtrofin Oct 1, 2025
42ab473
[RISCV] Xqci with Short Forward Branches (#161407)
lenary Oct 1, 2025
57a9f79
[ValueTracking] Take PHI's poison-generating flags into account (#161…
dtcxzyw Oct 1, 2025
e1bd9af
[gn build] Port 2936a2c882d7
llvmgnsyncbot Oct 1, 2025
03cb514
[gn build] Port da315a352880
llvmgnsyncbot Oct 1, 2025
5a80fb9
Revert "[lldb][MachO][NFC] Extract ObjC metadata symbol parsing into …
augusto2112 Oct 1, 2025
65fd44e
[clang-linker-wrapper][NFC] Invert condition for readability (#161557)
bader Oct 1, 2025
2d6e7ef
[LV] Add additional tests for replicating load/store costs.
bader Oct 1, 2025
fc6cc40
[AsmPrinter] Remove unnecessary casts. NFC
darkbuck Oct 1, 2025
62c50fd
[VPlan] Retrieve canonical IV directly in preparePlanForEpilogue (NFCI).
fhahn Oct 1, 2025
3763712
[CIR] Update ComplexRealOp to work on scalar type (#161080)
AmrDeveloper Oct 1, 2025
e84dcba
[MLIR] Remove leftover debug print code
joker-eph Oct 1, 2025
9e04291
[InstCombine] linearize complexity of `findDemandedEltsByAllUsers()` …
Prince781 Oct 1, 2025
78c6554
[AST] Give `CharUnits::operator%` a consistent type. NFC (#160781)
bogner Oct 1, 2025
0e14973
[NFC][LLVM-Tests] Specialize test suite for LLVM unit tests (#161442)
jurahul Oct 1, 2025
ec982fa
[SLPVectorizer] Change arguments of 'isStridedLoad' (NFC) (#160401)
mgudim Oct 1, 2025
15dc80f
[SLPVectorizer][NFC] A test for widening constant strided loads. (#16…
mgudim Oct 1, 2025
9a30ada
[CIR][NFC] Fix CIR build (#161577)
andykaylor Oct 1, 2025
71365c0
[CIR][NFC] Fix CIR build after CharUnits change (#161580)
andykaylor Oct 1, 2025
56ca23c
[DirectX] Updating Root Signature Metadata to contain Static Sampler …
joaosaffran Oct 1, 2025
c4788bf
[NFC][LLVM][Support] Misc code cleanup in ScopedPrinter (#161462)
jurahul Oct 1, 2025
b389adf
[RISCV] Allow non-canonicalized splats in isProfitableToSinkOperands …
preames Oct 1, 2025
94b2617
[VPlan] Remove VPIRPhis in exit blocks when deleting scalar loop BBs.
fhahn Oct 1, 2025
ba5141d
[flang][OpenMP] Check contatining scoping unit in DECLARE_SIMD (#161556)
kparzysz Oct 1, 2025
b66dfa7
[LLDB] Add load core time to target metrics (#161581)
Jlalond Oct 1, 2025
f1986d9
[AMDGPU] Fix real and fake true16 v_cvt_f32_bf16 disasm (#161578)
rampitec Oct 1, 2025
f2c8c42
[HLSL] Update Frontend to support version 1.2 of root signature (#160…
joaosaffran Oct 1, 2025
69a53b8
[Flang] Fix perfect loop nest detection (#161554)
Meinersbur Oct 1, 2025
1a85027
[LV] Re-compute cost of scalarized load users.
fhahn Oct 1, 2025
39410df
[clang] Invert condition refactored in #160935 (#161583)
jansvoboda11 Oct 1, 2025
f122484
[llvm][support] Move `make_absolute` from `sys::fs` to `sys::path` (#…
jansvoboda11 Oct 1, 2025
103d2ca
[alpha.webkit.RetainPtrCtorAdoptChecker] Allow leakRef in copy method…
rniwa Oct 1, 2025
e2f8bfc
[clang-sycl-linker][NFC] Remove dead includes (#161564)
bader Oct 1, 2025
1e4d4bb
[Clang][NFC] Refactor operator delete argument handling (#160554)
andykaylor Oct 1, 2025
780f69c
[Clang][CMake] Add CSSPGO support to LLVM_BUILD_INSTRUMENTED (#79942)
aaupov Oct 1, 2025
bdd98a0
[AMDGPU] Add documentation files for GFX12. (#157151)
jwanggit86 Oct 1, 2025
11a4b2d
Cleanup the LLVM exported symbols namespace (#161240)
nhaehnle Oct 1, 2025
b181c22
[lldb][RISCV] Fixed TestSymbolFileJSON for RISC-V (#161497)
sga-sc Oct 1, 2025
9ba1121
[RISCV] Remove break after return in RISCVVEmitter.cpp. NFC (#161599)
topperc Oct 1, 2025
aeffd36
[Docs] Add CIR related meetings to GettingInvolved page (#157181)
bcardosolopes Oct 1, 2025
52b1850
[IR2Vec] Add support for Cmp predicates in vocabulary and embeddings …
svkeerthy Oct 1, 2025
4fccaae
[flang][runtime] fix intrinsics case of extends_type_of (#161466)
akuhlens Oct 1, 2025
4aaf6d1
[libunwind][test] Add check for objcopy to improve test compatibility…
yingcong-wu Oct 1, 2025
ed1d954
[IR2Vec] Refactor vocabulary to use section-based storage (#158376)
svkeerthy Oct 2, 2025
5f0f497
[libc] Unify and extend no_sanitize attributes for strlen. (#161316)
vonosmas Oct 2, 2025
bdea159
Revert "Revert "Fix memory leak in Offloading API" (#161465)" (#161573)
david-salinas Oct 2, 2025
640644d
[AMDGPU] Move LowerBufferFatPointers after LoadStoreVectorizer and re…
cmc-rep Oct 2, 2025
3f3a20f
[PATCH] offload-tunnel-cmake with proper escape (#161552)
hjagasiaAMD Oct 2, 2025
e37a973
[JTS][NFC] Optimize guid fetching (#161612)
mtrofin Oct 2, 2025
8b9e208
[RISCV] Add helper function getVecPolicyOpNum in RISCVInsertVSETVLI.c…
tclin914 Oct 2, 2025
9f4b637
[BOLT][AArch64] Skip R_AARCH64_TLSDESC_CALL relocation (#161610)
maksfb Oct 2, 2025
a2330a3
[Clang][Sema] Switch diagnostics from toString to operator<< for APSI…
snarang181 Oct 2, 2025
2d06374
[mlir][arith] Add mulf(x, 0) -> 0 to mulf folder (#161395)
python3kgae Oct 2, 2025
129d5ce
[RISCV][GISel] Use LBU for anyext i8 atomic_load. (#161588)
topperc Oct 2, 2025
ac0e99e
[Analysis] Fix a warning
kazutakahirata Oct 2, 2025
c6e280e
PeepholeOpt: Fix losing subregister indexes on full copies (#161310)
arsenm Oct 2, 2025
a88c839
[LLVM] Volunteer myself and Usman Nadeem as DFAJumpThreading maintain…
XChy Oct 2, 2025
fea2cca
[MLIR][Python] expose Operation::setLoc (#161594)
makslevental Oct 2, 2025
9323fbb
RegisterCoalescer: Avoid return after else (#161622)
arsenm Oct 2, 2025
d39095b
[BOLT] Remove unused parameter. NFC (#161617)
maksfb Oct 2, 2025
bcc85f7
[compiler-rt][asan][tests] Stabilize wchar tests on Darwin/Android (#…
Cao-Wuhui Oct 2, 2025
17f6888
[IR] clang-format ValueMap.h
kazutakahirata Oct 2, 2025
eedfbbe
[AMDGPU] Update gfx1250 VOP1 tests to t16 syntax. NFC (#161603)
rampitec Oct 2, 2025
bd0f9db
[AMDGPU] Update gfx1250 vop3_from_vop1 tests to t16 syntax. NFC (#161…
rampitec Oct 2, 2025
912a92a
[AMDGPU] Update VOP3 gfx1250 tests to t16 syntax. NFC (#161611)
rampitec Oct 2, 2025
a4767e6
[MemorySanitizer] Use getelementptr instead of ptrtoint+add+inttoptr …
nikic Oct 2, 2025
e5b8c24
[DAG] Add ComputeNumSignBits(FREEZE(X)) handling (#161507)
RKSimon Oct 2, 2025
662f56f
[flang] handle scalars in getDescriptorWithNewBaseAddress (#161515)
jeanPerier Oct 2, 2025
0b0dcf8
[libc++] Upgrade Xcode to 26.0 (#160097)
philnik777 Oct 2, 2025
5f5a84e
[clang][analyzer] Clear `ObjCMethodCall`'s cache between runs (#161327)
alejandro-alvarez-sonarsource Oct 2, 2025
66558d7
[libc++] Fix <__algorithm/find.h> when using -flax-vector-conversions…
philnik777 Oct 2, 2025
bf847a8
[AMDGPU][SDAG] Enable ISD::PTRADD for 64-bit AS by default (#146076)
ritter-x2a Oct 2, 2025
6e52e53
[LAA] Test different-type-sizes in safe-dep-dist (#161244)
artagnon Oct 2, 2025
031fb74
[AArch64][SME] Preserve `Chain` when selecting multi-vector LUT4Is (#…
MacDue Oct 2, 2025
8aa64ed
[Flang] Add -ffast-real-mod and direct code for MOD on REAL types (#1…
mjklemm Oct 2, 2025
20e0e80
[AArch64] Combine PTEST_FIRST(PTRUE, CONCAT(A, B)) -> PTEST_FIRST(PTR…
kmclaughlin-arm Oct 2, 2025
55803b8
Reapply "[libc++] Avoid constructing additional objects when using ma…
philnik777 Oct 2, 2025
04c01ff
[gn build] Port 55803b8af1e4
llvmgnsyncbot Oct 2, 2025
eb803df
[AArch64][GlobalISel] Add `G_FMODF` instruction (#160061)
HolyMolyCowMan Oct 2, 2025
2cb5308
[DebugInfo][InstrRef] Copy instr-ref to replacement instrs in X86Fixu…
OCHyams Oct 2, 2025
3c39187
[ELF]Add overflow check to ELF note iterator (#160451)
cabbaken Oct 2, 2025
7ccb5c0
Thread Safety Analysis: Optimize LocalVariableMap's canonical referen…
melver Oct 2, 2025
0db784e
[MLIR] Apply clang-tidy fixes for llvm-else-after-return in Transform…
joker-eph Aug 21, 2025
2daa2f1
[Clang] Fix a crash when using ctad with a template template paramete…
cor3ntin Oct 2, 2025
2165aa4
[orc-rt] Tidy up some type_traits uses. NFC.
lhames Oct 2, 2025
7c4f188
[LV] Support multiplies by constants when forming scaled reductions. …
fhahn Oct 2, 2025
6382bb5
[lldb][test] XFAIL TestGlobalSymbolObjCConflict.c on Windows
Michael137 Oct 2, 2025
2eb6337
[SPIR-V] Prevent adding duplicate binding instructions for implicit b…
luciechoi Oct 2, 2025
f3f9e7b
[CIR] Make all opt tests verify roundtrip (#161439)
xlauko Oct 2, 2025
8cf43ae
[LLVM][CodeGen][SVE] Remove failure cases when widening vector load/s…
paulwalker-arm Oct 2, 2025
39d0e41
[NFC][Clang Improve performance of `DoMarkVarDeclReferenced` (#161648)
cor3ntin Oct 2, 2025
dbf44c2
[AArch64] Remove unused tablegen classes and code cleanup. NFC
davemgreen Oct 2, 2025
8dd2846
[analyzer] Harden RegionStoreManager::bindArray (#153177)
marco-antognini-sonarsource Oct 2, 2025
3537e8a
RegAllocGreedy: Check if copied lanes are live in trySplitAroundHintR…
arsenm Oct 2, 2025
86ba198
[lldb][test] Un-XFAIL TestDataFormatterStdUnorderedMap.py for older C…
Michael137 Oct 2, 2025
7e6d277
[lldb][test] TestStructuredBinding.py: adjust assertion to check for …
Michael137 Oct 2, 2025
db39ef9
[GVN] Add additional tests for inverted condition propagation (NFC)
nikic Oct 2, 2025
9583b39
[Clang] Normalize constraints before checking for satisfaction (#141776)
cor3ntin Oct 2, 2025
99ce206
[orc-rt] Add support for constructing Expected<Error> values. (#161656)
lhames Oct 2, 2025
82b3057
[lldb][test] TestAbiTagStructors.py adjust test to account for older …
Michael137 Oct 2, 2025
0cb9d40
[orc-rt] Fix typo in comment. NFC.
lhames Oct 2, 2025
c2159f2
[LLVM-Test] Fix a regression in test dependencies introduced by 0e149…
jurahul Oct 2, 2025
e7839ee
AMDGPU: Switch test to generated checks (#161658)
arsenm Oct 2, 2025
faf070f
[lldb][test] TestExprDefinitionInDylib.py adjust test to account for …
Michael137 Oct 2, 2025
2ece31b
Enforce Unix line endings for Clang/LLVM/MLIR projects (#161460)
jurahul Oct 2, 2025
119cdf7
[OpenACC][CIR] Finish 'private' recipe lowering by doing 'init' (#161…
erichkeane Oct 2, 2025
1c1d525
[mlir][omp] Improve canonloop/iv naming (#159773)
Meinersbur Oct 2, 2025
e48fe76
[InstCombine] Remove foldSelectWithFrozenICmp() fold (#161659)
nikic Oct 2, 2025
c4e1bca
Greedy: Move physreg check when trying to recolor vregs (NFC) (#160484)
arsenm Oct 2, 2025
9f5abd3
[Codegen] Add a separate stack ID for scalable predicates (#142390)
MacDue Oct 2, 2025
047f8c8
Revert "[Clang] Normalize constraints before checking for satisfactio…
cor3ntin Oct 2, 2025
706b790
Greedy: Merge VirtRegMap queries into one use (NFC) (#160485)
arsenm Oct 2, 2025
b147019
[clang] Preserve `externs` following broken declarations (#161641)
alejandro-alvarez-sonarsource Oct 2, 2025
b92ff6b
[ROCDL] Added `rocdl.cvt.scale.pk8` ops (#161411)
ravil-mobile Oct 2, 2025
f98735f
Greedy: Use initializer list for recoloring candidates (NFC) (#160486)
arsenm Oct 2, 2025
11b0cf8
Greedy: Take hints from copy to physical subreg (#160467)
arsenm Oct 2, 2025
daa4e57
[Hexagon] Add opcode V6_vS32Ub_npred_ai for offset validity check (#1…
iajbar Oct 2, 2025
c242aff
[flang][cuda][openacc] Create new symbol in host_data region for CUDA…
clementval Oct 2, 2025
197e77b
[X86] Create special case for (a-b) - (a<b) -> sbb a, b (#161388)
AZero13 Oct 2, 2025
a3594cd
[MLIR][Python] fixup Context and Location stubs and NanobindAdaptors …
makslevental Oct 2, 2025
32d03f3
[Clang][Sema] Fix crash in CheckUsingDeclQualifier due to diagnostic …
shafik Oct 2, 2025
6632b2f
[AArch64] Prepare for split ZPR and PPR area allocation (NFCI) (#142391)
MacDue Oct 2, 2025
f646d76
[LV] Extend test coverage for tail-folding with recurrences.
fhahn Oct 2, 2025
e3e0f69
[NFC][clang-sycl-linker] Avoid ambiguous call to CallingConv (#161682)
jsji Oct 2, 2025
235cd75
[AMDGPU] s_quadmask* implicitly defines SCC (#161582)
LU-JOHN Oct 2, 2025
5bbf724
[X86] Add bytecode / -fexperimental-new-constant-interpreter VPMADD52…
RKSimon Oct 2, 2025
afb2628
[LoopPeel] Fix branch weights' effect on block frequencies (#128785)
jdenny-ornl Oct 2, 2025
ed12dc5
[Flang][OpenMP] Implicitly map nested allocatable components in deriv…
TIFitis Oct 2, 2025
5ed678a
[CFG] Add a BuildOption to consider default branch of switch on cover…
frederic-tingaud-sonarsource Oct 2, 2025
407ecfe
[CIR][NFC] Cleanup MissingFeature asserts in RecordLayoutBuilder (#16…
andykaylor Oct 2, 2025
3c8c500
[LLDB][NFC] Fix variable casing issue (#161691)
Jlalond Oct 2, 2025
c2ef022
Omit member size from DWARF when desired (#161423)
tromey Oct 2, 2025
18997b5
[ADT] Fix a bug in DoubleAPFloat::frexp (#161625)
kazutakahirata Oct 2, 2025
b436488
[ADT] Use a C++17 fold expression in BitVector.h (NFC) (#161626)
kazutakahirata Oct 2, 2025
0dd8f32
[ADT] Use structured bindings (NFC) (#161627)
kazutakahirata Oct 2, 2025
7eb5c08
[ADT] Use "= default" in DirectedGraph.h (#161628)
kazutakahirata Oct 2, 2025
c0a2bea
[llvm] Proofread TableGen/ProgRef.rst (#161629)
kazutakahirata Oct 2, 2025
2512611
[RegAlloc] Add coverage leading to revert of pr160765 (#161614)
preames Oct 2, 2025
e394df3
[NFC] Rename members in AutoVarEmission (#161668)
erichkeane Oct 2, 2025
758fd7a
[AArch64][SME] Reshuffle emit[prologue|epilogue]() for splitSVEObject…
MacDue Oct 2, 2025
4195942
[mlir][omp] Add omp.tile operation (#160292)
Meinersbur Oct 2, 2025
5843ffb
[VPlan] Improve code using m_One (NFC) (#161686)
artagnon Oct 2, 2025
d68f0c2
[DTLTO][LLD] Tidy up DTLTO related options (NFC) (#161675)
nga888 Oct 2, 2025
6bfa56a
[NFC][DwarfLowLevel] Make getRelocatedValueImpl public (#160618)
Sterling-Augustine Oct 2, 2025
c470982
[libc] Fix issue with fuzz input too short for atoi diff fuzz (#161705)
michaelrj-google Oct 2, 2025
0b7129a
[InstCombine] Fix FMF propagation in `foldFCmpFSubIntoFCmp` (#161539)
dtcxzyw Oct 2, 2025
67c000e
[HLSL] [SPIR-V] Add counter member for typed buffer (#161414)
s-perron Oct 2, 2025
99d8590
[mlir] [irdl] Add support for regions in irdl-to-cpp (#158540)
j2kun Oct 2, 2025
b86ddae
[clang] NFCI: Clean up `CompilerInstance::create{File,Source}Manager(…
jansvoboda11 Oct 2, 2025
8f67cdd
[AArch64][SME] Support split ZPR and PPR area allocation (#142392)
MacDue Oct 2, 2025
1f22567
[VPlan] Improve code using VPlan::getFalse (NFC) (#161681)
artagnon Oct 2, 2025
9133fc8
[LAA,LV] Add early-exit tests with deref assumes and nofree via context.
fhahn Oct 2, 2025
68b143d
[MLIR][XeGPU] Use operand layouts for store scatter (#161447)
nbpatel Oct 2, 2025
5be4fc2
[mlir][Arith] arith.select doesn't need to be emulated for small floa…
krzysz00 Oct 2, 2025
847e1e1
[clang-format][NFC] Introduce isNoneOf (#161021)
HazardyKnusperkeks Oct 2, 2025
819f34a
[NFC][OpenACC] Remove 'initExpr' from AST/etc. (#161674)
erichkeane Oct 2, 2025
f1650cf
Revert "[clang] Convert second arg of __builtin_assume_aligned to Con…
DKLoehr Oct 2, 2025
49603bd
Revert "[MemProf] Add ambigous memprof attribute" (#161717)
teresajohnson Oct 2, 2025
1d7ec60
[RISCV] Improve formatting in RISCVInstrInfoVPseudos.td. NFC (#161470)
topperc Oct 2, 2025
44d471e
[libc] Implement faccessat (#161065)
mleleszi Oct 2, 2025
8779ab6
[RISCV] Always use XLenVT for pointer operand in PatLAQ and PatSRL. N…
topperc Oct 2, 2025
902fe02
[OFFLOAD] Restore interop functionality (#161429)
adurang Oct 2, 2025
6943906
[RISCV][GISel] Share an atomic load isel pattern GISel RV64 and SDAG …
topperc Oct 2, 2025
11faf88
[InstCombine] Fold icmp with clamp into unsigned bound check (#161303)
brandonxin Oct 2, 2025
6048c2f
[flang][openacc] Suppport !@acc compiler sentinel (#161706)
clementval Oct 2, 2025
a2b6602
[NVPTX] expand trunc/ext on v2i32 (#161715)
Artem-B Oct 2, 2025
0ebd433
[AMDGPU] Be less optimistic when allocating module scope lds (#161464)
JonChesterfield Oct 2, 2025
fd9a1dc
[bazel] Add missing dep after 99d85906c542c3801a24137ba6d6f2c36730856…
slackito Oct 2, 2025
a035ef4
[RISCV] Use i64 instead of XLenVT in some RV64 only isel patterns. NFC
topperc Oct 2, 2025
2b2bc63
[LV] Add tests with multiple F(Max|Min)Num reductions w/o fast-math.
fhahn Oct 2, 2025
ea443d5
[FMV][AArch64] Remove last of MRS bits and rename file (#161585)
brad0 Oct 2, 2025
dbffd0a
[lldb] Add lld requirement to NativePDB test (#161731)
bulbazord Oct 2, 2025
f4370fb
[ARM] Update and cleanup lrint/llrint tests. NFC
davemgreen Oct 2, 2025
f4784fd
[debugserver] Support for `qMemTags` packet (#160952)
yln Oct 2, 2025
8f2466b
Reapply "[VPlan] Compute cost of more replicating loads/stores in ::c…
fhahn Oct 2, 2025
3757fa6
[orc-rt] Add testcase for Expected<Expected<T>> support. (#161660)
lhames Oct 2, 2025
b3e2d6d
Suppress returning larger CXX records in mem on PlayStation (#161732)
wjristow Oct 2, 2025
07974fe
Reland "[lldb][MachO][NFC] Extract ObjC metadata symbol parsing into …
Michael137 Oct 2, 2025
ab2c4a0
[clang-scan-deps] Remove unused OutputsPaths from FullDependencyConsu…
naveen-seth Oct 2, 2025
9345b59
[libc][NFC] Turn off faccessat on aarch64 (#161740)
michaelrj-google Oct 2, 2025
66feafd
[HLSL] Add missing dependency to Frontend unittest (#161738)
joaosaffran Oct 2, 2025
3960ff6
[mlir][vector] Simplify op rewrite pattern inheriting constructors. N…
kuhar Oct 2, 2025
79d1524
[NFC][IR2Vec] Moving `parseVocabSection()` to `VocabStorage` (#161711)
svkeerthy Oct 2, 2025
487cdf1
[X86][AMX] Combine constant zero vector and AMX cast to tilezero (#92…
phoebewang Oct 3, 2025
40fce32
[orc-rt] Add CallableTraitsHelper, refactor WrapperFunction to use it…
lhames Oct 3, 2025
d0e15f9
[orc-rt] Refactor WrapperFunction to simplify Serializer classes. (#1…
lhames Oct 3, 2025
c64d4ce
[clang] fix lambda dependency issue with late parse attributes (#161765)
mizvekov Oct 3, 2025
715e0fa
[orc-rt] Add transparent SPS conversion for error/expected types. (#1…
lhames Oct 3, 2025
8744287
[RISCV][GISel] Use relaxed_load/store in GISel atomic patterns. NFC (…
topperc Oct 3, 2025
065699b
[clang] fix #161765 test triple dependency (#161769)
mizvekov Oct 3, 2025
d7f1cc8
[flang] use specialized scan/verify version for char (#161767)
c8ef Oct 3, 2025
a7016c4
[JITLink] Add LinkGraph name / triple to debugging output. (#161772)
lhames Oct 3, 2025
e0eb7c2
[Clang] Ensure initialized NTTP expressions when building CTAD for ty…
zyn0217 Oct 3, 2025
dd668aa
[X86] combineBitcastvxi1 - bail out on soft-float targets (#161704)
RKSimon Oct 3, 2025
90582ad
[ARM] shouldFoldMaskToVariableShiftPair should be true for scalars up…
AZero13 Oct 3, 2025
fa57ce9
[AMDGPU] Define VS_128*. NFCI (#161798)
rampitec Oct 3, 2025
e9972de
[Clang] Normalize constraints before checking for satisfaction (#161671)
cor3ntin Oct 3, 2025
05a49da
[llvm-jitlink] Use MachOObjectFile::getArchTriple for triple identifi…
lhames Oct 3, 2025
441f0c7
[BOLT] Add GNUPropertyRewriter and warn on AArch64 BTI note (#161206)
bgergely0 Oct 3, 2025
a1db40f
[gn build] Port 441f0c7c9a5e
llvmgnsyncbot Oct 3, 2025
19cd5bd
[AMDGPU] Account for implicit XCNT insertion (#160812)
easyonaadit Oct 3, 2025
224a717
[BOLT][AArch64] Refuse to run CDSplit pass (#159351)
paschalis-mpeis Oct 3, 2025
ff4aec5
[VPlan] Deref VPlanPtr when passing to transform (NFC) (#161369)
artagnon Oct 3, 2025
7cda10d
Added arith.clampf -> rocdl.fmed3 conversion{
keshavvinayak01 Sep 22, 2025
536473e
Update math-to-rocdl.mlir
keshavvinayak01 Sep 22, 2025
61d6080
Merge branch 'users/keshavvinayak01/clampf-med3-math-to-rocdl' of htt…
keshavvinayak01 Oct 13, 2025
5a99efc
Addressed Comments
keshavvinayak01 Oct 13, 2025
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
6 changes: 6 additions & 0 deletions mlir/include/mlir/Conversion/Passes.td
Original file line number Diff line number Diff line change
Expand Up @@ -785,6 +785,12 @@ def ConvertMathToROCDL : Pass<"convert-math-to-rocdl", "ModuleOp"> {
"ROCDL::ROCDLDialect",
"vector::VectorDialect",
];
let options = [
Option<"chipset", "chipset", "std::string",
/*default=*/"\"gfx000\"",
"Chipset that these operations will run on">
];

}

//===----------------------------------------------------------------------===//
Expand Down
41 changes: 34 additions & 7 deletions mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "mlir/Conversion/GPUCommon/GPUCommonPass.h"
#include "mlir/Conversion/LLVMCommon/LoweringOptions.h"
#include "mlir/Conversion/LLVMCommon/TypeConverter.h"
#include "mlir/Dialect/AMDGPU/Utils/Chipset.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/LLVMIR/ROCDLDialect.h"
Expand Down Expand Up @@ -120,25 +121,51 @@ void mlir::populateMathToROCDLConversionPatterns(
"__ocml_fmod_f64", "__ocml_fmod_f16");
}

namespace {
struct ConvertMathToROCDLPass
: public impl::ConvertMathToROCDLBase<ConvertMathToROCDLPass> {
ConvertMathToROCDLPass() = default;
struct ClampFOpConversion : public ConvertOpToLLVMPattern<math::ClampFOp> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit final

using ConvertOpToLLVMPattern::ConvertOpToLLVMPattern;
ClampFOpConversion(const LLVMTypeConverter &converter,
amdgpu::Chipset chipset)
: ConvertOpToLLVMPattern<math::ClampFOp>(converter), chipset(chipset) {}

LogicalResult
matchAndRewrite(math::ClampFOp op, OpAdaptor adaptor,
ConversionPatternRewriter &rewriter) const override {
// V_MED3_F16/F32 only exists in gfx9+ artchitectures
if (chipset.majorVersion < 9) {
std::string msg =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need for std::string here. I'm pretty sure notifyMatchFailure takes a Twine

("pre-gfx9 (gfx" + std::to_string(chipset.majorVersion) +
"): V_MED_F16 / V_MED3_F32 not supported.");
return rewriter.notifyMatchFailure(op, msg);
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, so, two questions

  1. Do we know if this instruction is available on gfx10-12?
  2. Which types are supported?
  3. Are there any known differences between clampf and fmed3 in terms of NaN handling and the like?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Yes, I looked up the documentation (on GFX12 specifically, it was renamed to V_MED3_NUM_(F16/F32) specifically, but it exists.
  2. V_MED3_(f16/f32) are valid for half and float types. There are other med3 ops for int, uint, etc; but we're not adding support for them at the moment.
  3. From what I can find, fmed3 with any NaN input will propagate the NaN. I'm not sure / can't find what happens with clampf on AMDGPUs in this case.

rewriter.replaceOpWithNewOp<ROCDL::FMed3Op>(op, op.getType(), op.getValue(),
op.getMin(), op.getMax());
return success();
}
amdgpu::Chipset chipset;
};

struct ConvertMathToROCDLPass final
: impl::ConvertMathToROCDLBase<ConvertMathToROCDLPass> {
using impl::ConvertMathToROCDLBase<
ConvertMathToROCDLPass>::ConvertMathToROCDLBase;

void runOnOperation() override;
};
} // namespace

void ConvertMathToROCDLPass::runOnOperation() {
auto m = getOperation();
MLIRContext *ctx = m.getContext();
FailureOr<amdgpu::Chipset> maybeChipset = amdgpu::Chipset::parse(chipset);

RewritePatternSet patterns(&getContext());
LowerToLLVMOptions options(ctx, DataLayout(m));
LLVMTypeConverter converter(ctx, options);
patterns.add<ClampFOpConversion>(converter, *maybeChipset);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No

Add this to populateMathToROCDLConversionPatterns (whcih'll grow a chipset argument and that's fine)

populateMathToROCDLConversionPatterns(converter, patterns);
ConversionTarget target(getContext());
target.addLegalDialect<BuiltinDialect, func::FuncDialect,
vector::VectorDialect, LLVM::LLVMDialect>();
target
.addLegalDialect<BuiltinDialect, func::FuncDialect, vector::VectorDialect,
LLVM::LLVMDialect, ROCDL::ROCDLDialect>();
target.addIllegalOp<LLVM::CosOp, LLVM::ExpOp, LLVM::Exp2Op, LLVM::FAbsOp,
LLVM::FCeilOp, LLVM::FFloorOp, LLVM::FRemOp, LLVM::LogOp,
LLVM::Log10Op, LLVM::Log2Op, LLVM::PowOp, LLVM::SinOp,
Expand Down
33 changes: 32 additions & 1 deletion mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// RUN: mlir-opt %s -convert-math-to-rocdl -allow-unregistered-dialect -split-input-file | FileCheck %s
// RUN: mlir-opt %s -allow-unregistered-dialect -split-input-file -pass-pipeline='builtin.module(convert-math-to-rocdl{chipset=gfx803})' | FileCheck %s --check-prefix=PRE9
// RUN: mlir-opt %s -allow-unregistered-dialect -split-input-file -pass-pipeline='builtin.module(convert-math-to-rocdl{chipset=gfx942})' | FileCheck %s --check-prefix=POST9

module @test_module {
// CHECK: llvm.func @__ocml_fmod_f16(f16, f16) -> f16
Expand Down Expand Up @@ -596,3 +597,33 @@ module @test_module {
func.return %result : vector<2x2xf16>
}
}

// -----

// f16 clamp → rocdl.fmed3 on gfx9+
func.func @clampf_f16(%x: f16, %lo: f16, %hi: f16) -> f16 {
%r = math.clampf %x to [%lo, %hi] : f16
return %r : f16
}

// f32 clamp → rocdl.fmed3 on gfx9+
func.func @clampf_f32(%x: f32, %lo: f32, %hi: f32) -> f32 {
%r = math.clampf %x to [%lo, %hi] : f32
return %r : f32
}

// POST9-LABEL: func.func @clampf_f16
// POST9: rocdl.fmed3 {{.*}} : f16
// POST9: return

// POST9-LABEL: func.func @clampf_f32
// POST9: rocdl.fmed3 {{.*}} : f32
// POST9: return

// PRE9-LABEL: func.func @clampf_f16
// PRE9-NOT: rocdl.fmed3
// PRE9: math.clampf {{.*}} : f16

// PRE9-LABEL: func.func @clampf_f32
// PRE9-NOT: rocdl.fmed3
// PRE9: math.clampf {{.*}} : f32