Skip to content

[mlir][tosa] Canonicalise slice over overlapped or inside a pad. #138270

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

Closed
wants to merge 961 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
961 commits
Select commit Hold shift + click to select a range
256350e
[clang][bytecode] Bail out on invalid function declarations (#138503)
tbaederr May 5, 2025
47cef77
AMDGPU: Fix gcc -Wenum-compare warning (#138529)
arsenm May 5, 2025
e0220dd
[MemCpyOpt] Drop outdated TODO (NFC)
nikic May 5, 2025
04554e1
[VPlan] Verify number preds and operands matches for VPIRPhis. (NFC)
fhahn May 5, 2025
1ac1a29
[DSE] Strengthen test coverage for memset.pattern
preames May 5, 2025
e2d479e
[C23] Disable diagnostic on struct defn in prototype (#138516)
AaronBallman May 5, 2025
967963a
[Clang][NFC] Use std::move for Detail in timeTraceMetadata (#138352)
shafik May 5, 2025
0a5c062
[X86][APX] Fix the assertion of NF instruction with relocation (#138500)
fzou1 May 5, 2025
96cfa75
[clang] Fix nondeterminism in MemberPointerType (#137910)
emaxx-google May 5, 2025
d8f69ba
[Inline] Add tests for captures-before check for scoped AA metadata (…
nikic May 5, 2025
72fdfcf
[SimplifyCFG] Add test for addr-only capture in store speculation (NFC)
nikic May 5, 2025
df5013c
[flang][docs] Add note about Cray pointers and the TARGET attribute (…
ashermancinelli May 5, 2025
a290e55
ARM: Add test which shows overriding shouldRewriteCopySrc does something
arsenm May 3, 2025
d9650b8
[SPARC] Add llvm-readobj support, update ELF reloc types and dynamic …
alexrp May 5, 2025
fd28d98
[LLDB] Fix `ValueObject::AddressOf()` return value (#137688)
kuilpd May 5, 2025
abf863e
[mlir][MemRef][~NFC] Move getStridesAndOffset() onto layouts (#138011)
krzysz00 May 5, 2025
c8f5265
[AMDGPU] Handle MachineOperandType global address in SIFoldOperands. …
isakhilesh May 5, 2025
2b6add8
[AMDGPU] SIPeepholeSDWA: Handle V_CNDMASK_B32_e64 (#137930)
frederik-h May 5, 2025
b476252
Sparc: Improve SETHI and R_SPARC_DISP32 tests
MaskRay May 5, 2025
29798ce
Sparc: Suppress applyFixup when a relocation is generated
MaskRay May 5, 2025
cc9b7e9
Sparc: Move H44/M44/L44 computation back to adjustFixupValue
MaskRay May 5, 2025
b2fff4f
[DSE/GVN] Continue to improve memset.pattern testing [nfc]
preames May 5, 2025
7292d68
[Clang] Preserve CXXParenListInitExpr in TreeTransform. (#138518)
cor3ntin May 5, 2025
1bbfb4b
Handle step-in over a Darwin "branch island". (#138330)
jimingham May 5, 2025
5573bd5
[GlobalISel] Take the result size into account when const folding icm…
KRM7 May 5, 2025
d759c98
[flang] Component references are volatile if their parent is (#138339)
ashermancinelli May 5, 2025
325cb6b
[AMDGPU] Fix a warning
kazutakahirata May 5, 2025
4b3989f
[mlir] Remove unused local variables (NFC) (#138481)
kazutakahirata May 5, 2025
2a9d90b
[SelectionDAG] Remove obsolete comments (NFC) (#138483)
kazutakahirata May 5, 2025
59376b6
[CodeGen] Use range-based for loops (NFC) (#138488)
kazutakahirata May 5, 2025
2438a45
[Clang][Driver] Only enable internalization for OpenMP target offload…
shiltian May 5, 2025
9cdbb19
Fix crash with invalid VLA in a type trait (#138543)
AaronBallman May 5, 2025
e26bd1d
[AMDGPU][True16][CodeGen] clean up a few codegen test for true16 mode…
broxigarchen May 5, 2025
f74c9ec
[CodeGen] Fix warnings
kazutakahirata May 5, 2025
86f887e
[Clang] Minimal support for availability attributes on partial specia…
cor3ntin May 5, 2025
c872139
[OpenACC] Fix infinite loop bug with the device_type checking
erichkeane May 5, 2025
3008a9a
ARM: Remove override of shouldRewriteCopySrc (#125219)
arsenm May 5, 2025
0d0f04b
AMDGPU: Fix -Wextra (#138539)
arsenm May 5, 2025
2336956
[LLDB][SBSaveCore] Sbsavecore subregions bug (#138206)
Jlalond May 5, 2025
4dfdba8
[VPlan] Simplify check in collectUsersInLatchExitBlock. (NFC)
fhahn May 5, 2025
55c4fb3
[libc] Temporarily disable hanging test on sm_60 (#138561)
jhuber6 May 5, 2025
161356d
[AMDGPU] Remove implicit definition of register group when restoring …
bababuck May 5, 2025
c245cf2
[OpenMP] Fix KMP_OS_AIX handling (#138499)
rorth May 5, 2025
5e3b898
[clang] Provide to `PPCallbacks` full expression range even in single…
vsapsai May 5, 2025
f3f0049
[libc][gpu][docs] Fix typos in GPU libc's documentation (#138565)
Sberm May 5, 2025
1a892c7
[AMDGPU][True16][CodeGen] readfirstlane for vgpr16 copy to sgpr32 (#1…
broxigarchen May 5, 2025
4827887
Revert "Handle step-in over a Darwin "branch island". (#138330)" (#13…
jimingham May 5, 2025
17bcf00
[HLSL] Handle init list with OpaqueValueExprs in CGExprScalar (#138541)
spall May 5, 2025
c47b89a
Revert "ARM: Remove override of shouldRewriteCopySrc (#125219)"
arsenm May 5, 2025
b201adf
[llvm] Fixed Demangle OutputBuffer (#138564)
slydiman May 5, 2025
c77baa7
[CIR] Upstream local VectorType with 0 init elements (#138346)
AmrDeveloper May 5, 2025
c7f8342
qsort_r.h: qsort_r() is POSIX now. (#138545)
enh-google May 5, 2025
63dd0d5
[lldb-dap] Specify the executable path in the attach info (#138557)
JDevlieghere May 5, 2025
701fd54
[VPlan] Replace getPreheaderBBFor with getCFGPredecessor. (NFC)
fhahn May 5, 2025
fdf15c6
[MLIR][LLVM] Add ProfileSummary module flag support (#138070)
bcardosolopes May 5, 2025
c97a7dc
[MLIR][LLVM] Importer: fix void returning intrinsic calls (#138325)
bcardosolopes May 5, 2025
c19dff7
[Sparc] TableGen-erate SDNode descriptions (#138450)
s-barannikov May 5, 2025
ade61ee
[NFC][TableGen] Code cleanup in CodeGenRegister (#137994)
jurahul May 5, 2025
5b5c0eb
[ScheduleDAG] Allow disabling the SchedModel / Itineraries during Sch…
jrbyrnes May 5, 2025
2c57438
[IntrinsicInst] Remove MemCpyInlineInst and MemSetInlineInst [nfc] (#…
preames May 5, 2025
f51eaf7
[libc++] Re-introduce _LIBCPP_DISABLE_AVAILABILITY (#134158)
ldionne May 5, 2025
9837ec6
[randstruct] Also randomize composite function pointer structs (#138385)
kees May 5, 2025
4cc712a
[OpenMP] Add pre sm_70 load hack back in (#138589)
jhuber6 May 5, 2025
6afb3bd
[libc] Swap order of syscall on chmod (#138427)
mikhailramalho May 5, 2025
ada1fe8
[lldb-dap] Give attach test binaries unique names (#138435)
JDevlieghere May 5, 2025
ebeb11a
[flang][nfc] Fix test unneccesarily checking type layout (#138585)
ashermancinelli May 5, 2025
0022f49
[SPARC] Use op-then-neg instructions when we have VIS3 (#138603)
koachan May 5, 2025
57d90b8
[lldb][test] Mark DynamicValueTestCase XFAIL on Windows
omjavaid May 5, 2025
0e0d129
[SPIRV] Add explicit layout (#135789)
s-perron May 5, 2025
e43c771
[lldb] Support alternatives for scope format entries (#137751)
JDevlieghere May 5, 2025
25fe76a
[AMDGPU] Extend test coverage for cross RC register coalescing (#132137)
jrbyrnes May 5, 2025
94420be
[NVPTX] Add ranges to intrinsic definitions, cleanup NVVMIntrRange (#…
AlexMaclean May 5, 2025
f9aeb2a
[MLIR][LLVMIR] Import calls with mismatching signature as indirect ca…
bcardosolopes May 5, 2025
4d0fde8
Revert "[AMDGPU] Extend test coverage for cross RC register coalescin…
jrbyrnes May 5, 2025
7764da5
[lldb-dap] Don't error out when the process is in eStateUnloaded (#13…
JDevlieghere May 6, 2025
04ce476
[llvm][gvn-sink] Don't try to sink inline asm (#138414)
ilovepi May 6, 2025
b273967
[llvm][NFC] Fix bracing from #138414 (#138620)
ilovepi May 6, 2025
e655395
[gn build] Port 7aa67378f01f
nico May 6, 2025
c127b86
[RISCV] Add processor definition for SiFive P870 (#137725)
mshockwave May 6, 2025
8484af5
[RISCV] Rename XCValu intrinsic name *_slet(u) to *_sle(u)) (#138498)
tclin914 May 6, 2025
6dc0784
[bazel] Update Sparc (for #138450)
chapuni May 6, 2025
d053ec1
[llvm] No DWARF CFI for UEFI (#138602)
Prabhuk May 6, 2025
2dd84ba
AArch64: Clean up relocation error messages.
pcc May 6, 2025
c692f5b
[NFC][clang-offload-bundler] Simplify main function (#138555)
bader May 6, 2025
72fa56e
[AMDGPU][True16][CodeGen] optimize codegen for mad-mix in true16 (#12…
broxigarchen May 6, 2025
36abd88
LoongArch: Replace most Specifier members with raw relocation types
MaskRay May 6, 2025
27e04fc
[clang] Ensure type aware allocators handle transparent decl contexts…
ojhunt May 6, 2025
3be3fce
[Linker] Update `linkInModule()` comment following change from `bool …
bricknerb May 6, 2025
3071906
[RISCV] Add compress patterns for qc.extu and qc.mveqi (#138630)
hchandel May 6, 2025
0315514
[OpenMP] Use TLS for gtid on Solaris (#138508)
rorth May 6, 2025
fe577fa
[OpenMP] Use pthread_self for __kmp_gettid on Solaris (#138510)
rorth May 6, 2025
7cf99f7
[OpenMP] Provide __kmp_unnamed_critical_addr on SPARC (#138517)
rorth May 6, 2025
14899ae
[OpenMP] Provide __NR_sched_[gs]etaffinity on Linux/sparc64 (#138525)
rorth May 6, 2025
9161f00
[MLIR][NVVM] Update support for conversions to f8x2 and f6x2 types (#…
Wolfram70 May 6, 2025
b17007e
[mlir][affine] Add pass --affine-raise-from-memref (#138004)
oowekyala May 6, 2025
5a6e163
[X86][DAGCombiner][SelectionDAG] - Fold Zext Build Vector to Bitcast …
rohitaggarwal007 May 6, 2025
cc6f310
[RISCV] Add compress patterns for Xqcisync instructions (#138629)
svs-quic May 6, 2025
033ee54
[mlir][memref] Remove runtime verification for `memref.reinterpret_ca…
matthias-springer May 6, 2025
5a66738
[AArch64][SVE] Combine UXT[BHW] intrinsics to AND. (#137956)
rj-jesus May 6, 2025
b202dc0
[MISched][NFC] Precommit test for #137988 (#138243)
c-rhodes May 6, 2025
c806ce7
[KeyInstr] Fix DILocation AtomGroup/Rank bitfield packing for MSVC (#…
OCHyams May 6, 2025
a0b5c9f
[libc++][C++03] Remove code that is not used in C++03 (#134045)
philnik777 May 6, 2025
d8029db
[ProgrammersManual] Update report_fatal_error docs (#138502)
nikic May 6, 2025
4f1a121
[KeyInstr] Hide new MDNodeKeyImpl<DILocation> fields (#138296)
OCHyams May 6, 2025
08afa35
[clang][ASTImporter] Fix AST import if anonymous namespaces are merge…
balazske May 6, 2025
da986bc
[clang][doc] Document C2y flags (#138521)
tambry May 6, 2025
c809ba7
[GVN] Improve processBlock for instruction erasure (#131753)
madhur13490 May 6, 2025
7beb037
[AArch64][SME] Split SMECallAttrs out of SMEAttrs (#137239)
MacDue May 6, 2025
32c8138
Clarify ban evasion policy (#137298)
kbeyls May 6, 2025
3374583
[GlobalISel][AArch64] Handles bitreverse to prevent falling back (#13…
jyli0116 May 6, 2025
8ef8a3c
[ItaniumDemangle] Fix libcxxabi OutputBuffer::prepend for empty input…
slydiman May 6, 2025
35d1fab
[lldb] fix crash on FreeBSD/powerpc64le (#138331)
pkubaj May 6, 2025
7afa25b
Revert "[AArch64][SME] Split SMECallAttrs out of SMEAttrs" (#138664)
MacDue May 6, 2025
0aa60e8
[AArch64] Correct position of CFI Instruction for Pointer Authenticat…
DanielKristofKiss May 6, 2025
da57b3d
[MISched] Fix off-by-one error in debug output with -misched-cutoff=<…
c-rhodes May 6, 2025
b52e35f
[InlineCost]: Add a new heuristic to branch folding for better inlini…
hassnaaHamdi May 6, 2025
a6dda8e
[KeyInstr] Add Atom Group waterline to LLVMContext (#133478)
OCHyams May 6, 2025
4e4f154
[mlir][OpenMP] Allow 'cancel taskgroup' inside taskloop region (#138634)
kaviya2510 May 6, 2025
b9e9275
[Clang][Flang][Driver] Fix target parsing for -fveclib=libmvec option…
paulwalker-arm May 6, 2025
55882dd
[llvm][docs] Reorder Stacked PR approaches in GitHub.rst (#138126)
paschalis-mpeis May 6, 2025
2d5e3b1
[DAG] Add SDPatternMatch::m_BitwiseLogic common matcher for AND/OR/XO…
RKSimon May 6, 2025
5433100
[NFC][KeyInstr] Add Atom Group (re)mapping (#133479)
OCHyams May 6, 2025
db214d8
[Clang] Implement the core language parts of P2786 - Trivial relocati…
cor3ntin May 6, 2025
db99940
[BasicAA] Gracefully handle large LocationSize (#138528)
nikic May 6, 2025
dc3ea8b
[lldb][lldb-dap] use the new protocol for setVariable requests. (#137…
da-viper May 6, 2025
c1402f8
[KeyInstr] Merge atoms in DILocation::getMergedLocation (#133480)
OCHyams May 6, 2025
c547039
[DAGCombine] Simplify partial_reduce_*mla with constant. (#138289)
sdesmalen-arm May 6, 2025
74c4588
[lldb/Host] Enable inheriting "non-inheritable" FDs (#126935)
labath May 6, 2025
d19135e
[lldb/docs] Fix/improve the gdb command map for dynamic types (#138538)
labath May 6, 2025
e2ad426
[sanitizer_common] Use internal_memcpy with wcrtomb/wctomb intercepto…
jakeegan May 6, 2025
e696365
[sanitizer_common] Split FREXPF/FREXPL interceptor defines (#138624)
jakeegan May 6, 2025
7d2fb8d
[X86][AVX] Match v4f64 blend from shuffle of scalar values. (#135753)
PeddleSpam May 6, 2025
029e55d
Add missed quote on title of enum_select section
erichkeane May 6, 2025
32201e0
stdlib.yaml: qsort_r() is in POSIX 2024 (aka issue 8). (#138572)
enh-google May 6, 2025
a985c63
[KeyInstr] Inline atom info (#133481)
OCHyams May 6, 2025
cea0f7d
[FunctionAttrs] Only consider provenance capture in access attr infer…
nikic May 6, 2025
80bae62
[KeyInstr][SimplifyCFG] Remap atoms when folding br to common succ in…
OCHyams May 6, 2025
fd20a8f
[AMDGPU][True16][MC] update mc test of a few vop1 t16 inst (#135588)
broxigarchen May 6, 2025
b0123dc
[Flang][OpenMP] Support for lowering of taskloop construct to MLIR (#…
kaviya2510 May 6, 2025
b0f53b0
[libc] Fix implicit conversion error on rv32 (#138622)
mikhailramalho May 6, 2025
c1326f8
[SDAG] Merge memcpy and memcpy.inline lowering paths (#138619)
preames May 6, 2025
23f5400
[flang] Lower volatile class types (#138607)
ashermancinelli May 6, 2025
1afe35a
[SLP]Do not match nodes if schedulability of parent nodes is different
alexey-bataev May 6, 2025
94653eb
[lld] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#138641)
kazutakahirata May 6, 2025
675018f
[mlir] Remove unused local variables (NFC) (#138642)
kazutakahirata May 6, 2025
ea3ff84
[Transforms] Use SmallMapVector::contains (NFC) (#138645)
kazutakahirata May 6, 2025
64efef9
[KeyInstr][debugify] Add --debugify-atoms to add key instructions met…
OCHyams May 6, 2025
1c896ff
IR: Remove uselist for constantdata (#137313)
arsenm May 6, 2025
30a5310
IR: Remove reference counts from ConstantData (#137314)
arsenm May 6, 2025
9e3b128
[AArch64] Emit .arch and .arch_extension during assembly to textual a…
zyedidia May 6, 2025
adf8348
[DAGCombiner] Add DAG combine for PARTIAL_REDUCE_MLA when no mul op (…
NickGuy-Arm May 6, 2025
bae827f
[AArch64][SelectionDAG] Add support for 8to64 partial reduction cases…
NickGuy-Arm May 6, 2025
30ccd4a
[InstCombine] Handle isnormal idiom (#125454)
dtcxzyw May 6, 2025
c741dfc
[mlir][bufferization] Let bufferization.tensor_layout be any layout a…
krzysz00 May 6, 2025
695b468
[mlir][MemRef] Remove integer address space builders (#138579)
krzysz00 May 6, 2025
20682b6
[RISCV] Add scheduler definitions for SpacemiT-X60 (#137343)
mikhailramalho May 6, 2025
1a27097
[AMDGPU] Fix UB in tests due to mismatched calling conventions (#137957)
mgcarrasco May 6, 2025
eaa4e76
[VPlan][LV] Fix invalid truncation in VPScalarIVStepsRecipe (#137832)
maryammo May 6, 2025
cc4ea23
[libc] Update riscv entrypoints to be on par with x86 (#138597)
mikhailramalho May 6, 2025
df3cc12
[flang][Evaluate] Fix AsGenericExpr for Relational (#138455)
kparzysz May 6, 2025
91ad323
[flang][Evaluate] Restrict ConstantBase constructor overload (#138456)
kparzysz May 6, 2025
7b72a10
[sanitizer][Fuchsia] Add callback at end of __sanitizer_startup_hook …
PiJoules May 6, 2025
0afc3d4
[lit] Fix lit hang on pool join when exception is thrown (#131881)
ayylol May 6, 2025
ff02d17
[LV][EVL] Attach a new metadata on EVL vectorized loops (#131000)
mshockwave May 6, 2025
caf65e1
[AArch64] Use Subtarget directly. NFC
davemgreen May 6, 2025
cff3160
[AArch64] Add a slp vectorization test for extract and shuffle costs.…
davemgreen May 6, 2025
df6991e
[OpenMP][NFC] Use temporary instead of local to take advantage of mov…
shafik May 6, 2025
543bfba
[AMDGPU] Fix VTList for BUFFER_LOAD and DENORM_MODE (#138704)
jayfoad May 6, 2025
da196f8
[VPlan] Remove unneeded checks from PlanCFGBuilder::isExternalDef (NFC).
fhahn May 6, 2025
3009342
[ADT]Add helper function to return a ArrayRef of MapVector's underlyi…
mingmingl-llvm May 6, 2025
fc7e4aa
[Offload] Fix PowerPC builds that pass -mcpu (#138327)
jhuber6 May 6, 2025
67480a4
[libc++] Enable sized deallocation when building operator new shims o…
ldionne May 6, 2025
b1b8004
[libc++] Improve the test coverage for std::vector::emplace (#132440)
ldionne May 6, 2025
0fc2955
[libc++] Remove redundant and somewhat confusing assertions around ad…
ldionne May 6, 2025
8a392df
[VPlan] Construct regions from innermost to outermost (NFC).
fhahn May 6, 2025
211a19b
[NFC][GlobalISel] Pre-commit GISel AMDGPU tests for XOR, OR, AND (#13…
chinmaydd May 6, 2025
34ad566
[libcxx][CMake] Use the right variable in the C library error message…
tambry May 6, 2025
d8bbe03
[OpenACC] Implement tile/collapse lowering (#138576)
erichkeane May 6, 2025
fbdd151
[MLIR][TOSA-Linalg] Fix rescale lowering for unsigned input zp (#138313)
RoboTux May 6, 2025
bf9a47f
[libc++][test] Test `flat_meow` with proper underlying iterators (#13…
frederick-vs-ja May 6, 2025
f9b96a8
[libc++][NFC] Remove a bunch of redundant ASan existence checks (#128…
philnik777 May 6, 2025
c2d011e
[libc++][NFC] Improve test readability for std::fill_n (#133771)
winner245 May 6, 2025
968034d
[instcombine] Adjust style of MemIntrinsic code to be more idiomatic …
preames May 6, 2025
a0494e8
InstCombine: Add baseline test for minimumnum/maximumnum freeze fold …
arsenm May 6, 2025
5d5376a
ValueTracking: Handle minimumnum/maximumnum in canCreateUndefOrPoison…
arsenm May 6, 2025
376ca24
[clang][NFC] rename FPOptions.def's macro to FP_OPTION (#138374)
ojhunt May 6, 2025
a1456e5
[Cygwin] Enable TLS on Cygwin target (#138618)
kikairoya May 6, 2025
e0218ba
[clang][Index] Add comment about out-of-line defaulted destructor (#1…
HighCommander4 May 6, 2025
c9bc7d5
[Clang] Diagnose invalid function types in dependent contexts (#138731)
cor3ntin May 6, 2025
1f72919
[lldb] Use llvm::bit_ceil (NFC) (#138723)
kazutakahirata May 6, 2025
c0eb443
[WebAssembly] Fix trunc in FastISel (#138479)
pavelverigo May 6, 2025
7c98fae
[IR] Remove the AtomicMem*Inst helper classes (#138710)
preames May 6, 2025
11ab49d
[Hexagon] Add missing patterns to select PFALSE and PTRUE (#138712)
iajbar May 6, 2025
47794d1
[SPIRV] Fix asan failure (#138695)
s-perron May 6, 2025
06b5cb4
[NFC][llvm] Drop isOsWindowsOrUEFI API (#138733)
Prabhuk May 6, 2025
39cca05
[llvm] Allow Fast and Tail CC in UEFI (#138361)
Prabhuk May 6, 2025
0dc2111
[llvm][mustache][NFC] Use type alias for escape symbols (#138050)
ilovepi May 6, 2025
0011620
Revert "[SPIRV] Fix asan failure (#138695)"
kstoimenov May 6, 2025
d24a979
Revert "[SPIRV] Add explicit layout (#135789)"
kstoimenov May 6, 2025
c77492e
[lldb-dap] Change the launch sequence (#138219)
JDevlieghere May 6, 2025
21e1a5f
Revert "[MLIR][TOSA-Linalg] Fix rescale lowering for unsigned input z…
RoboTux May 6, 2025
1b6e573
[clang-doc] Add regression test for test comments in macros (#132510)
ZhongUncle May 6, 2025
78ee2ff
[clang][modules] Lazily load by name lookups in module maps (#132853)
Bigcheese May 6, 2025
b886f33
Branch island with numbers (#138781)
jimingham May 6, 2025
d521413
[AMDGPU] Fix gfx1201 check line in the amdgpu-features.cl. NFC. (#138…
rampitec May 7, 2025
51f1c57
Revert "IR: Remove reference counts from ConstantData (#137314)"
kstoimenov May 7, 2025
991c245
Revert "IR: Remove uselist for constantdata (#137313)"
kstoimenov May 7, 2025
ff9e5dc
[Clang][Sema] Handle invalid variable template specialization whose t…
zwuis May 7, 2025
0c0189c
Register assembly printer passes (#138348)
MatzeB May 7, 2025
8704565
[AMDGPU] Extend test coverage for cross RC register coalescing (#138617)
jrbyrnes May 7, 2025
d7492c4
[lldb-dap] Don't make stopOnAttach the default in attach tests
JDevlieghere May 7, 2025
2997244
Revert "Branch island with numbers (#138781)"
felipepiovezan May 7, 2025
804f550
[LoongArch] Fix fp_to_uint/fp_to_sint conversion errors for lasx (#13…
tangaac May 7, 2025
bfed38f
[AMDGPU] clang-format part of AMDGPUSubtarget.h. NFC. (#138756)
rampitec May 7, 2025
3963aeb
[AMDGPU] Remove unused argument in builtins-amdgcn-gfx950.cl. NFC. (#…
rampitec May 7, 2025
f8cad26
[clang-format] Don't annotate enum colon as InheritanceColon (#138440)
owenca May 7, 2025
cd89152
[clang-format] Correctly annotate C# nullable value type `?` (#138631)
owenca May 7, 2025
8aa17ff
[clang-format] Fix a bug in annotating binary operator && (#138633)
owenca May 7, 2025
dc0d39b
[mlir][drr] Fix getValueAndRangeUse for Optional operands (#138742)
antiagainst May 7, 2025
0ad5296
Revert "[lldb-dap] Don't make stopOnAttach the default in attach tests"
JDevlieghere May 7, 2025
f10bd05
[clang-doc] Track Descriptions and TypeDeclaration for types (#138058)
ilovepi May 7, 2025
860f70d
[clang-tools-extra] Remove redundant calls to std::unique_ptr<T>::get…
kazutakahirata May 7, 2025
de0c882
[clang-doc] Add Mustache template assets (#138059)
ilovepi May 7, 2025
10a91b4
[Flang][OpenMP]Support for lowering task_reduction and in_reduction t…
kaviya2510 May 7, 2025
01430d8
[BOLT] Drop converting return profile to call cont (#129477)
aaupov May 7, 2025
d5f92c6
[flang][OpenMP] Fix fir.convert in omp.atomic.update region (#138397)
NimishMishra May 7, 2025
065d635
ValueTracking: Add baseline tests for minimumnum/maximumnum (#138736)
arsenm May 7, 2025
d914fab
ValueTracking: Handle minimumnum and maximumnum in computeKnownFPClas…
arsenm May 7, 2025
88c3add
Fix test pfalse-v4i1.ll added in #138712 to require asserts.
dyung May 7, 2025
bbee145
[llvm] Add triples for managarm (#87845)
no92 May 7, 2025
957beea
LoongArch: Remove VK_CALL/VK_CALL_PLT and don't print %plt
MaskRay May 7, 2025
c8fb7be
[MISched] Add statistics to quantify scheduling (#138090)
c-rhodes May 7, 2025
09ef407
[NFC] Add test from issue 61125
ChuanqiXu9 May 7, 2025
9efa108
[DWARFLinkerParallel] Change more cases of compare_exchange_weak to c…
mstorsjo May 7, 2025
09beed8
[AMDGPU] Fix regclass check for PackedF32InputMods in AsmParser. (#13…
rampitec May 7, 2025
a3fddd9
[AMDGPU] Classify FLAT instructions as VMEM (#137148)
ro-i May 7, 2025
117c4ba
[llvm] Add extra tests for atomicrmw fmaximum/fminimum (#138252)
jthackray May 7, 2025
65c4d15
[MIPS]Remove unnecessary SLL instructions on MIPS64el (#109386)
anbbna May 7, 2025
9ffdc9d
[AMDGPU][Legalizer] Widen i16 G_SEXT_INREG (#131308)
Pierre-vh May 7, 2025
dbea83e
[KeyInstr][SimplifyCFG] Remap atoms after duplication for threading (…
OCHyams May 7, 2025
f0c1bc9
[Flang][OpenMP] Add frontend support for declare variant (#130578)
kiranchandramohan May 7, 2025
f0176c7
[lldb][debugserver] Add missing include to DNBTimer.h
labath May 7, 2025
adb25f7
Revert "[lldb-dap] Change the launch sequence (#138219)"
DavidSpickett May 7, 2025
bba21b3
[lldb] Fix block address resolution for functions in multiple section…
labath May 7, 2025
df1f2da
[flang][OpenMP] share global variable initialization code (#138672)
tblah May 7, 2025
8993ee1
[JITLink][i386] Make ELFLinkGraphBuilder_i386 a regular (non-template…
lhames May 7, 2025
2276fe6
[LLVM][VecLib] Refactor LIBMVEC integration to be target neutral. (#1…
paulwalker-arm May 7, 2025
62717aa
[lldb][docs] Correct spelling in debugging doc
DavidSpickett May 7, 2025
78eee48
[Clang][OpenCL][AMDGPU] OpenCL Kernel stubs should be assigned alway…
lalaniket8 May 7, 2025
b553893
Address review comments
GeorgeARM May 7, 2025
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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 3 additions & 3 deletions .ci/metrics/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@
# Lists the Github workflows we want to track. Maps the Github job name to
# the metric name prefix in grafana.
# This metric name is also used as a key in the job->name map.
GITHUB_WORKFLOW_TO_TRACK = {"LLVM Premerge Checks": "github_llvm_premerge_checks"}
GITHUB_WORKFLOW_TO_TRACK = {"CI Checks": "github_llvm_premerge_checks"}

# Lists the Github jobs to track for a given workflow. The key is the stable
# name (metric name) of the workflow (see GITHUB_WORKFLOW_TO_TRACK).
# Each value is a map to link the github job name to the corresponding metric
# name.
GITHUB_JOB_TO_TRACK = {
"github_llvm_premerge_checks": {
"Linux Premerge Checks (Test Only - Please Ignore Results)": "premerge_linux",
"Windows Premerge Checks (Test Only - Please Ignore Results)": "premerge_windows",
"Build and Test Linux (Test Only - Please Ignore Results)": "premerge_linux",
"Build and Test Windows (Test Only - Please Ignore Results)": "premerge_windows",
}
}

Expand Down
63 changes: 42 additions & 21 deletions .github/workflows/libc-fullbuild-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,23 @@ jobs:
include:
- os: ubuntu-24.04
ccache-variant: sccache
c_compiler: clang-20
cpp_compiler: clang++-20
c_compiler: clang-21
cpp_compiler: clang++-21
target: x86_64-unknown-linux-llvm
include_scudo: ON
# TODO: remove ccache logic when https://github.com/hendrikmuhs/ccache-action/issues/279 is resolved.
- os: ubuntu-24.04-arm
ccache-variant: ccache
c_compiler: clang-20
cpp_compiler: clang++-20
c_compiler: clang-21
cpp_compiler: clang++-21
target: aarch64-unknown-linux-llvm
include_scudo: ON
- os: ubuntu-24.04
ccache-variant: ccache
c_compiler: clang-21
cpp_compiler: clang++-21
target: x86_64-unknown-uefi-llvm
include_scudo: OFF
# TODO: add back gcc build when it is fixed
# - c_compiler: gcc
# cpp_compiler: g++
Expand Down Expand Up @@ -53,7 +63,7 @@ jobs:
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 20
sudo ./llvm.sh 21
sudo apt-get update
sudo apt-get install -y libmpfr-dev libgmp-dev libmpc-dev ninja-build linux-libc-dev
sudo ln -sf /usr/include/$(uname -p)-linux-gnu/asm /usr/include/asm
Expand All @@ -68,22 +78,31 @@ jobs:
# Configure libc fullbuild with scudo.
# Use MinSizeRel to reduce the size of the build.
- name: Configure CMake
run: >
cmake -B ${{ steps.strings.outputs.build-output-dir }}
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_C_COMPILER_LAUNCHER=${{ matrix.ccache-variant }}
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ matrix.ccache-variant }}
-DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.build-install-dir }}
-DLLVM_ENABLE_RUNTIMES="libc;compiler-rt"
-DLLVM_LIBC_FULL_BUILD=ON
-DLLVM_LIBC_INCLUDE_SCUDO=ON
-DCOMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC=ON
-DCOMPILER_RT_BUILD_GWP_ASAN=OFF
-DCOMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED=OFF
-G Ninja
-S ${{ github.workspace }}/runtimes
run: |
export RUNTIMES="libc"

if [[ ${{ matrix.include_scudo}} == "ON" ]]; then
export RUNTIMES="$RUNTIMES;compiler-rt"
export CMAKE_FLAGS="
-DLLVM_LIBC_INCLUDE_SCUDO=ON
-DCOMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC=ON
-DCOMPILER_RT_BUILD_GWP_ASAN=OFF
-DCOMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED=OFF"
fi

cmake -B ${{ steps.strings.outputs.build-output-dir }} \
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} \
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DCMAKE_C_COMPILER_LAUNCHER=${{ matrix.ccache-variant }} \
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ matrix.ccache-variant }} \
-DCMAKE_INSTALL_PREFIX=${{ steps.strings.outputs.build-install-dir }} \
-DLLVM_RUNTIMES_TARGET=${{ matrix.target }} \
-DLLVM_ENABLE_RUNTIMES="$RUNTIMES" \
-DLLVM_LIBC_FULL_BUILD=ON \
-G Ninja \
-S ${{ github.workspace }}/runtimes \
$CMAKE_FLAGS

- name: Build
run: >
Expand All @@ -93,6 +112,8 @@ jobs:
--target install

- name: Test
# Skip UEFI tests until we have testing set up.
if: ${{ ! endsWith(matrix.target, '-uefi-llvm') }}
run: >
cmake
--build ${{ steps.strings.outputs.build-output-dir }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/libcxx-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
stage1:
if: github.repository_owner == 'llvm'
runs-on: libcxx-self-hosted-linux
container: ghcr.io/llvm/libcxx-linux-builder:b6bb9dc5abd7c6452c13a53fa8949cb259db459b
container: ghcr.io/llvm/libcxx-linux-builder:2b57ebb50b6d418e70382e655feaa619b558e254
continue-on-error: false
strategy:
fail-fast: false
Expand Down Expand Up @@ -75,7 +75,7 @@ jobs:
stage2:
if: github.repository_owner == 'llvm'
runs-on: libcxx-self-hosted-linux
container: ghcr.io/llvm/libcxx-linux-builder:b6bb9dc5abd7c6452c13a53fa8949cb259db459b
container: ghcr.io/llvm/libcxx-linux-builder:2b57ebb50b6d418e70382e655feaa619b558e254
needs: [ stage1 ]
continue-on-error: false
strategy:
Expand Down Expand Up @@ -163,7 +163,7 @@ jobs:
- config: 'generic-msan'
machine: libcxx-self-hosted-linux
runs-on: ${{ matrix.machine }}
container: ghcr.io/llvm/libcxx-linux-builder:b6bb9dc5abd7c6452c13a53fa8949cb259db459b
container: ghcr.io/llvm/libcxx-linux-builder:2b57ebb50b6d418e70382e655feaa619b558e254
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: ${{ matrix.config }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/premerge.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: LLVM Premerge Checks
name: CI Checks

permissions:
contents: read
Expand All @@ -25,7 +25,7 @@ concurrency:

jobs:
premerge-checks-linux:
name: Linux Premerge Checks (Test Only - Please Ignore Results)
name: Build and Test Linux (Test Only - Please Ignore Results)
if: >-
github.repository_owner == 'llvm' &&
(github.event_name != 'pull_request' || github.event.action != 'closed')
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
include-hidden-files: 'true'

premerge-checks-windows:
name: Windows Premerge Checks (Test Only - Please Ignore Results)
name: Build and Test Windows (Test Only - Please Ignore Results)
if: >-
github.repository_owner == 'llvm' &&
(github.event_name != 'pull_request' || github.event.action != 'closed')
Expand Down
6 changes: 0 additions & 6 deletions bolt/docs/BinaryAnalysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,12 +180,6 @@ The following are current known cases of false negatives:
[prototype branch](
https://github.com/llvm/llvm-project/compare/main...kbeyls:llvm-project:bolt-gadget-scanner-prototype).

BOLT cannot currently handle functions with `cfi_negate_ra_state` correctly,
i.e. any binaries built with `-mbranch-protection=pac-ret`. The scanner is meant
to be used on specifically such binaries, so this is a major limitation! Work is
going on in PR [#120064](https://github.com/llvm/llvm-project/pull/120064) to
fix this.

## How to add your own binary analysis

_TODO: this section needs to be written. Ideally, we should have a simple
Expand Down
4 changes: 0 additions & 4 deletions bolt/include/bolt/Profile/DataAggregator.h
Original file line number Diff line number Diff line change
Expand Up @@ -197,10 +197,6 @@ class DataAggregator : public DataReader {

BoltAddressTranslation *BAT{nullptr};

/// Whether pre-aggregated profile needs to convert branch profile into call
/// to continuation fallthrough profile.
bool NeedsConvertRetProfileToCallCont{false};

/// Update function execution profile with a recorded trace.
/// A trace is region of code executed between two LBR entries supplied in
/// execution order.
Expand Down
26 changes: 23 additions & 3 deletions bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ extern cl::opt<bool> StrictMode;
extern cl::opt<bool> UpdateDebugSections;
extern cl::opt<unsigned> Verbosity;

extern bool BinaryAnalysisMode;
extern bool HeatmapMode;
extern bool processAllFunctions();

static cl::opt<bool> CheckEncoding(
Expand Down Expand Up @@ -2760,13 +2762,19 @@ struct CFISnapshot {
}
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
case MCCFIInstruction::OpValOffset:
llvm_unreachable("unsupported CFI opcode");
break;
case MCCFIInstruction::OpNegateRAState:
if (!(opts::BinaryAnalysisMode || opts::HeatmapMode)) {
llvm_unreachable("BOLT-ERROR: binaries using pac-ret hardening (e.g. "
"as produced by '-mbranch-protection=pac-ret') are "
"currently not supported by BOLT.");
}
break;
case MCCFIInstruction::OpRememberState:
case MCCFIInstruction::OpRestoreState:
case MCCFIInstruction::OpGnuArgsSize:
Expand Down Expand Up @@ -2900,13 +2908,19 @@ struct CFISnapshotDiff : public CFISnapshot {
return CFAReg == Instr.getRegister() && CFAOffset == Instr.getOffset();
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
case MCCFIInstruction::OpValOffset:
llvm_unreachable("unsupported CFI opcode");
return false;
case MCCFIInstruction::OpNegateRAState:
if (!(opts::BinaryAnalysisMode || opts::HeatmapMode)) {
llvm_unreachable("BOLT-ERROR: binaries using pac-ret hardening (e.g. "
"as produced by '-mbranch-protection=pac-ret') are "
"currently not supported by BOLT.");
}
break;
case MCCFIInstruction::OpRememberState:
case MCCFIInstruction::OpRestoreState:
case MCCFIInstruction::OpGnuArgsSize:
Expand Down Expand Up @@ -3051,13 +3065,19 @@ BinaryFunction::unwindCFIState(int32_t FromState, int32_t ToState,
break;
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
case MCCFIInstruction::OpValOffset:
llvm_unreachable("unsupported CFI opcode");
break;
case MCCFIInstruction::OpNegateRAState:
if (!(opts::BinaryAnalysisMode || opts::HeatmapMode)) {
llvm_unreachable("BOLT-ERROR: binaries using pac-ret hardening (e.g. "
"as produced by '-mbranch-protection=pac-ret') are "
"currently not supported by BOLT.");
}
break;
case MCCFIInstruction::OpGnuArgsSize:
// do not affect CFI state
break;
Expand Down
13 changes: 1 addition & 12 deletions bolt/lib/Passes/PatchEntries.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -98,21 +98,10 @@ Error PatchEntries::runOnFunctions(BinaryContext &BC) {
});

if (!Success) {
// We can't change output layout for AArch64 due to LongJmp pass
if (BC.isAArch64()) {
if (opts::ForcePatch) {
BC.errs() << "BOLT-ERROR: unable to patch entries in " << Function
<< "\n";
return createFatalBOLTError("");
}

continue;
}

// If the original function entries cannot be patched, then we cannot
// safely emit new function body.
BC.errs() << "BOLT-WARNING: failed to patch entries in " << Function
<< ". The function will not be optimized.\n";
<< ". The function will not be optimized\n";
Function.setIgnored();
continue;
}
Expand Down
47 changes: 7 additions & 40 deletions bolt/lib/Profile/DataAggregator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -720,23 +720,6 @@ bool DataAggregator::doBranch(uint64_t From, uint64_t To, uint64_t Count,
: isReturn(Func.disassembleInstructionAtOffset(Offset));
};

// Returns whether \p Offset in \p Func may be a call continuation excluding
// entry points and landing pads.
auto checkCallCont = [&](const BinaryFunction &Func, const uint64_t Offset) {
// No call continuation at a function start.
if (!Offset)
return false;

// FIXME: support BAT case where the function might be in empty state
// (split fragments declared non-simple).
if (!Func.hasCFG())
return false;

// The offset should not be an entry point or a landing pad.
const BinaryBasicBlock *ContBB = Func.getBasicBlockAtOffset(Offset);
return ContBB && !ContBB->isEntryPoint() && !ContBB->isLandingPad();
};

// Mutates \p Addr to an offset into the containing function, performing BAT
// offset translation and parent lookup.
//
Expand All @@ -749,8 +732,7 @@ bool DataAggregator::doBranch(uint64_t From, uint64_t To, uint64_t Count,

Addr -= Func->getAddress();

bool IsRetOrCallCont =
IsFrom ? checkReturn(*Func, Addr) : checkCallCont(*Func, Addr);
bool IsRet = IsFrom && checkReturn(*Func, Addr);

if (BAT)
Addr = BAT->translate(Func->getAddress(), Addr, IsFrom);
Expand All @@ -761,24 +743,16 @@ bool DataAggregator::doBranch(uint64_t From, uint64_t To, uint64_t Count,
NumColdSamples += Count;

if (!ParentFunc)
return std::pair{Func, IsRetOrCallCont};
return std::pair{Func, IsRet};

return std::pair{ParentFunc, IsRetOrCallCont};
return std::pair{ParentFunc, IsRet};
};

uint64_t ToOrig = To;
auto [FromFunc, IsReturn] = handleAddress(From, /*IsFrom*/ true);
auto [ToFunc, IsCallCont] = handleAddress(To, /*IsFrom*/ false);
auto [ToFunc, _] = handleAddress(To, /*IsFrom*/ false);
if (!FromFunc && !ToFunc)
return false;

// Record call to continuation trace.
if (NeedsConvertRetProfileToCallCont && FromFunc != ToFunc &&
(IsReturn || IsCallCont)) {
LBREntry First{ToOrig - 1, ToOrig - 1, false};
LBREntry Second{ToOrig, ToOrig, false};
return doTrace(First, Second, Count);
}
// Ignore returns.
if (IsReturn)
return true;
Expand Down Expand Up @@ -1235,21 +1209,14 @@ std::error_code DataAggregator::parseAggregatedLBREntry() {
ErrorOr<StringRef> TypeOrErr = parseString(FieldSeparator);
if (std::error_code EC = TypeOrErr.getError())
return EC;
// Pre-aggregated profile with branches and fallthroughs needs to convert
// return profile into call to continuation fall-through.
auto Type = AggregatedLBREntry::BRANCH;
if (TypeOrErr.get() == "B") {
NeedsConvertRetProfileToCallCont = true;
auto Type = AggregatedLBREntry::TRACE;
if (LLVM_LIKELY(TypeOrErr.get() == "T")) {
} else if (TypeOrErr.get() == "B") {
Type = AggregatedLBREntry::BRANCH;
} else if (TypeOrErr.get() == "F") {
NeedsConvertRetProfileToCallCont = true;
Type = AggregatedLBREntry::FT;
} else if (TypeOrErr.get() == "f") {
NeedsConvertRetProfileToCallCont = true;
Type = AggregatedLBREntry::FT_EXTERNAL_ORIGIN;
} else if (TypeOrErr.get() == "T") {
// Trace is expanded into B and [Ff]
Type = AggregatedLBREntry::TRACE;
} else {
reportError("expected T, B, F or f");
return make_error_code(llvm::errc::io_error);
Expand Down
8 changes: 4 additions & 4 deletions bolt/lib/Rewrite/BinaryPassManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -497,6 +497,10 @@ Error BinaryFunctionPassManager::runAllPasses(BinaryContext &BC) {
// memory profiling data.
Manager.registerPass(std::make_unique<ReorderData>());

// Patch original function entries
if (BC.HasRelocations)
Manager.registerPass(std::make_unique<PatchEntries>());

if (BC.isAArch64()) {
Manager.registerPass(
std::make_unique<ADRRelaxationPass>(PrintAdrRelaxation));
Expand Down Expand Up @@ -524,10 +528,6 @@ Error BinaryFunctionPassManager::runAllPasses(BinaryContext &BC) {
// Assign each function an output section.
Manager.registerPass(std::make_unique<AssignSections>());

// Patch original function entries
if (BC.HasRelocations)
Manager.registerPass(std::make_unique<PatchEntries>());

// This pass turns tail calls into jumps which makes them invisible to
// function reordering. It's unsafe to use any CFG or instruction analysis
// after this point.
Expand Down
Loading