Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW47 2024) #16165

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

Merged
merged 1,946 commits into from
Dec 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1946 commits
Select commit Hold shift + click to select a range
76f993b
[libc++][NFC] Remove unused header in test/support
ldionne Nov 5, 2024
5f8b83e
[flang][OpenMP] Deprecation message for DESTROY with no argument (#11…
kparzysz Nov 5, 2024
ff5551c
[Clang] [NFC] Introduce `DynamicRecursiveASTVisitor` (#110040)
Sirraide Nov 5, 2024
02e5c25
[X86] SimplifyDemandedBitsForTargetNode - cleanup SSE shift-by-immedi…
RKSimon Nov 5, 2024
61d5add
[X86] SimplifyDemandedBitsForTargetNode - call SimplifyMultipleUseDem…
RKSimon Nov 5, 2024
04aaa35
[libc][NFC] Correct test header inclusion, license (#114604)
michaelrj-google Nov 5, 2024
3cdac06
[HLSL][SPIRV][DXIL] Implement `dot4add_i8packed` intrinsic (#113623)
inbelic Nov 5, 2024
e952728
[LLDB] Retry Add a target.launch-working-dir setting
Nov 5, 2024
23a01a4
More refinement of call site handling in stepping. (#114628)
jimingham Nov 5, 2024
7780cf0
[AMDGPU][MC] Fix disassemble of image_gather4 with d16 (#114609)
jwanggit86 Nov 5, 2024
bac7a6b
[PS5][Driver] Pass `-z rodynamic` to the linker (#115009)
playstation-edd Nov 5, 2024
ce067c5
AMDGPU: Rename test file
arsenm Nov 5, 2024
592c0fe
[flang] Tweak a SCALE/IEEE_SCALB folding overflow warning message (#1…
vdonaldson Nov 5, 2024
7c3fdcc
[CUDA] Add support for __grid_constant__ attribute (#114589)
Artem-B Nov 5, 2024
a993dfc
[flang][debug] Support assumed-rank arrays. (#114404)
abidh Nov 5, 2024
9b9369e
[mlir][tensor] Improve `FoldTensorCastProducerOp` (dynamic shapes) (#…
banach-space Nov 5, 2024
d02d9ce
[mlir] Fix a warning
kazutakahirata Nov 5, 2024
a33d42a
[gn build] Port ff5551cdb07f
llvmgnsyncbot Nov 5, 2024
c695a32
[CIR] Call code gen; create empty cir.func op (#113483)
dkolsen-pgi Nov 5, 2024
803f957
Fix a thinko in the CallSite handling code: (#114896)
jimingham Nov 5, 2024
17d9565
Reapply "[tsan] Don't use `enum __tsan_memory_order` in tsan interfac…
vitalybuka Nov 5, 2024
db69d69
[flang][cuda] Support data transfer from descriptor to a pointer (#11…
clementval Nov 5, 2024
e566ae8
[RISCV][GISel] Remove s32 support for G_ABS on RV64.
topperc Aug 8, 2024
8b65973
[SystemZ] Make lit test more specific (#115050)
redstar Nov 5, 2024
db1882e
[SystemZ][XRay] XRay runtime support for SystemZ (#113252)
redstar Nov 5, 2024
4a37799
[SystemZ][XRay] Implement XRay instrumentation for SystemZ (#113253)
redstar Nov 5, 2024
0c60573
clang/AMDGPU: Emit grid size builtins with range metadata (#113038)
arsenm Nov 5, 2024
0b40f97
AMDGPU: Treat uint32_max as the default value for amdgpu-max-num-work…
arsenm Nov 5, 2024
0428f2c
[SystemZ][XRay] Enable XRay for SystemZ in clang (#113254)
redstar Nov 5, 2024
e8644e3
[AMDGPU][True16][MC] VOP2 update instructions with fake16 format (#11…
broxigarchen Nov 5, 2024
fbbd8b0
[flang] Fix rewriting of misparsed statement functions (#112934)
klausler Nov 5, 2024
07e053f
[flang][runtime] Fix finalization case in assignment (#113611)
klausler Nov 5, 2024
850d42f
[flang] Handle "defined" in macro expansions (#114844)
klausler Nov 5, 2024
97982a8
[RISCV][CFI] add function epilogue cfi information (#110810)
dlav-sc Nov 5, 2024
b8ac87f
[LLVM][AsmParser] Add support for C style comments (#111554)
jurahul Nov 5, 2024
97262af
Allow specifying libcxx builder image. (#110303)
EricWF Nov 5, 2024
fedb9fd
[libc] Fix sendmsg iovec unpoisoning (#115057)
michaelrj-google Nov 5, 2024
a353e25
[LAA] Don't require Stride == 1/-1 for inbounds pointer AddRecs nowra…
fhahn Nov 5, 2024
823625c
[nfc][tsan] Simplify morder conversion (#115075)
vitalybuka Nov 5, 2024
dccb1fe
[RISCV] Update latency of MUL & CPOP in SiFive P600's scheduling mode…
mshockwave Nov 5, 2024
6d7e51d
[AMDGPU] Extend type support for update_dpp intrinsic (#114597)
rampitec Nov 5, 2024
c1cec8c
[SLP][NFC]Add a test with missed splat ordering for loads, NFC
alexey-bataev Nov 5, 2024
ce0d085
[SandboxVec][Legality] Query the scheduler for legality (#114616)
vporpo Nov 5, 2024
5e75f29
[ORC] Replace RedirectionManager::SymbolAddrMap typedef with SymbolMa…
lhames Nov 5, 2024
13b5899
[SelectionDAGBuilder][X86] Don't form FMAXNUM for f16 vectors if FMAX…
topperc Nov 5, 2024
a20b902
[RISCV][GISel] Copy some Zbb and Zbkb IR tests. NFC
topperc Nov 5, 2024
339f395
[RISCV][GISel] Enable commute_constant_to_rhs in RISCVPostLegalizerCo…
topperc Nov 5, 2024
3163f83
[RISCV][GISel] Use boolean predicated legalization action methods to …
topperc Nov 5, 2024
332fda8
[libc++] Remove <string> and <vector> includes from <flat_map> (#114876)
philnik777 Nov 5, 2024
a905203
[RISCV] Prefer strided load for interleave load with only one lane ac…
preames Nov 6, 2024
4d37447
[nfc][tsan] Replace some macros with templates (#114931)
vitalybuka Nov 6, 2024
320389d
[SandboxVec][BottomUpVec] Generate vector instructions (#115087)
vporpo Nov 6, 2024
d047488
[SandboxVec] Fix build warnings in VecUtilsTest
vporpo Nov 6, 2024
435e584
[clang][OpenMP] Add 'allocator' modifier for 'allocate' clause. (#114…
ddpagan Nov 6, 2024
92be2cb
[LoongArch] Use LSX for scalar FP rounding with explicit rounding mod…
zhaoqi5 Nov 6, 2024
4c3e1e3
[llvm][AsmPrinter] Add an option to print instruction latencies (#113…
jroelofs Nov 6, 2024
db21dbd
[RISCV][GISel] Add constant_fold_cast_op to RISCVPostLegalizerCombiner.
topperc Nov 6, 2024
11b768a
[SandboxVec][BottomUpVec] Fix bug in invalidation of analyses
vporpo Nov 6, 2024
9bc3102
[mlir][scf] Extend consumer fusion to multiple tilable users (#111955)
Yun-Fly Nov 6, 2024
7c20bdf
[lldb] Fix synchronization in AlarmTest (NFC)
JDevlieghere Nov 5, 2024
3a26feb
[RISCV] Lower fixed-length mgather/mscatter for zvfhmin/zvfbfmin (#11…
lukel97 Nov 6, 2024
7fb13a9
[ORC] lazyReexports: Swap IndirectStubsManager for RedirectableSymbol…
lhames Nov 6, 2024
895a8e6
[AArch64][GISel] Support neon.abs intrinsic for vector types (#107226)
madhur13490 Nov 6, 2024
236fda5
[Analysis] Remove unused includes (NFC) (#114936)
kazutakahirata Nov 6, 2024
9ba0e5c
Revert "[LoongArch][NFC] Pre-commit tests for codegen with alias anal…
heiher Nov 6, 2024
a165bbd
[LoongArch][NFC] Reland "Pre-commit tests for codegen with alias anal…
heiher Nov 6, 2024
e48d8f9
[Clang] Correctly initialize placeholder fields from their initialize…
cor3ntin Nov 6, 2024
d22d63a
[MLIR][Affine] Fix signature of mlir::affine::permuteLoops (#111100)
bondhugula Nov 6, 2024
cbc7812
[RISCV] Add Zdinx RUN line to rv64d-double-convert.ll. NFC
topperc Nov 6, 2024
492812f
[WebAssembly] Fix rethrow's index calculation (#114693)
aheejin Nov 6, 2024
f427004
[RISCV] Add Zfinx/Zdinx RUN lines to rv64d-double-convert-strict.ll a…
topperc Nov 6, 2024
84ce230
[libcxx] Use `lgamma` rather than `lgamma_r` with LLVM libc (#109556)
petrhosek Nov 6, 2024
4480a22
[LV][EVL] Emit vp.merge intrinsic to enable out-loop reduction in EVL…
Mel-Chen Nov 6, 2024
5adb5c0
[RISCV] Add tests for memcmp expansion
wangpc-pp Nov 6, 2024
0e907c1
[flang] Prevent errors from being suppressed (#114420)
inaki-amatria Nov 6, 2024
6d719d9
Revert "[SystemZ][XRay] XRay runtime support for SystemZ (#113252)"
sylvestre Nov 6, 2024
41248b5
[docs] Update docs on code-review process (#111735)
banach-space Nov 6, 2024
7a5b040
[RISCV] Add initial support of memcmp expansion
wangpc-pp Nov 6, 2024
c96a85a
[mlir][VectorToSPIRV] Add conversion for vector.extract with dynamic …
Groverkss Nov 6, 2024
dc55d31
[mlir][tensor] Fix a crash in `ExtractOp::fold` (#115001)
CoTinker Nov 6, 2024
08411c8
[RISCV] Correct fcopysign pattern for zdinx (#114954)
futog Nov 6, 2024
69d0bab
[RISCV] Add load/store clustering in post machine schedule (#111504)
BoyaoWang430 Nov 6, 2024
c0a7b60
Revert "[flang][OpenMP] Add alias analysis for omp private" (#115135)
DominikAdamski Nov 6, 2024
8431494
[clang] Make source locations space usage diagnostics numbers easier …
bricknerb Nov 6, 2024
37ce189
[RISCV] Add requirement of asserts
wangpc-pp Nov 6, 2024
7be30fd
[libclc] Move abs/abs_diff to CLC library
frasercrmck Nov 4, 2024
b4263dd
[libclc] Use __clc_max in CLC functions
frasercrmck Nov 5, 2024
ed9dab6
[ARM] Add extra tests for CVE-2024-7883 with undef/poison
ostannard Nov 6, 2024
8c565de
[LoongArch] Support llvm.lround intrinsics with i32 return type. (#11…
ylzsx Nov 6, 2024
5acc4a3
[libc++] Remove <stddef.h> includes from the granularized <cstddef> h…
philnik777 Nov 6, 2024
c6f3b7b
[libc++] Refactor the configuration macros to being always defined (#…
philnik777 Nov 6, 2024
e29d092
[X86] getFauxShuffleMask - add ISD::SHL/SRL handling
RKSimon Nov 6, 2024
270bfb2
[X86] Add test coverage for #114959
RKSimon Nov 6, 2024
2f48765
[libc][bazel] Remove -mllvm --tail-merge-threshold=0 from Bazel. (#11…
vonosmas Nov 6, 2024
3d4d033
[AArch64][Arm] Add nested double reduction tests. NFC
davemgreen Nov 6, 2024
ebfafa2
[SPIR-V] Fix OpFunctionParameter vs. OpTypeFunction types for pointer…
VyacheslavLevytskyy Nov 6, 2024
f363f9d
[ORC][Runtime] Add `dlupdate` for elf (#110406)
SahilPatidar Nov 6, 2024
d77a36e
[LoopVectorize] Use new getUniqueLatchExitBlock routine (#108231)
david-arm Nov 6, 2024
2d56de9
Revert "[ARM] Add extra tests for CVE-2024-7883 with undef/poison"
ostannard Nov 6, 2024
9f8c3d3
[lldb][test] Correct typo in breakpoint test file name
DavidSpickett Nov 6, 2024
c753533
[X86] combineConcatVectorOps - add 256-bit concat(shuffle(),shuffle()…
RKSimon Nov 6, 2024
5a16ed9
[RISCV] Add +unaligned-scalar-mem to spacemit-x60 (#115125)
lukel97 Nov 6, 2024
f87484d
Fix libnvptxcompiler_static.a absolute path (#115015)
MikaOvO Nov 6, 2024
40556d0
[MLIR][Tensor] Fix out-of-bounds FoldEmptyTensorWithDimOp crash (#112…
brod4910 Nov 6, 2024
ea6b8fa
[SDAG] Merge multiple-result libcall expansion into DAG.expandMultipl…
MacDue Nov 6, 2024
56077e5
[LLD][COFF] Add support for locally imported EC symbols (#114985)
cjacek Nov 6, 2024
eab7be5
[libc++] Forward more algorithms to the classic algorithms (#114674)
philnik777 Nov 6, 2024
2bbb6c0
[clang][NFC] Spell out DynTypedNode instead of auto (#114427)
ccotter Nov 6, 2024
3c4e6c1
[flang][Driver] When linking with the Fortran runtime, the `addArchSp…
pawosm-arm Nov 6, 2024
d8354d6
[VectorCombine] Extend test coverage for #114901 with commuted test case
RKSimon Nov 6, 2024
cab606c
[LoongArch] Enable alias analysis by default (#114980)
heiher Nov 6, 2024
d8139ae
[lldb][test] Use -gdwarf to fix same CU breakpoint test on Windows on…
DavidSpickett Nov 6, 2024
c5025ac
Merge from 'main' to 'sycl-web' (33 commits)
frasercrmck Nov 6, 2024
5a06219
[SPIR-V] Ensure correct pointee types of some OpenCL Extended Instruc…
VyacheslavLevytskyy Nov 6, 2024
38fffa6
[LLVM][IR] Use splat syntax when printing Constant[Data]Vector. (#112…
paulwalker-arm Nov 6, 2024
e3a0775
[VectorCombine] foldExtractedCmps - (re-)enable fold on non-commutati…
RKSimon Nov 6, 2024
f1f5220
[libc++] Only include the system <stdint.h> and <locale.h> if they ex…
ldionne Nov 6, 2024
28452ac
[mlir][OpenMP] delayed privatisation for TASK (#114785)
tblah Nov 6, 2024
88e9b37
[FuncSpec] Query SCCPSolver in more places (#114964)
hazzlim Nov 6, 2024
246b57c
Fix tests in flang/test/Lower/PowerPC after splat change.
paulwalker-arm Nov 6, 2024
79f4d8f
Revert "Reapply "[Clang][Sema] Always use latest redeclaration of pri…
sdkrystian Nov 6, 2024
2904f80
Revert "[Clang][Sema] Use the correct injected template arguments for…
sdkrystian Nov 6, 2024
fbd89bc
Reland "[LTO] Run Argument Promotion before IPSCCP" (#111853)
hazzlim Nov 6, 2024
44ab380
Revert "Reapply "[Clang][Sema] Refactor collection of multi-level tem…
sdkrystian Nov 6, 2024
2f743ac
[MLIR] [AMX] Utilize x86_amx type for AMX dialect in MLIR. (#111197)
ienkovich Nov 6, 2024
9b016e3
[ARM] Add early-clobber to MVE VCMLA.f32 (#114995)
ostannard Nov 6, 2024
5d8be4c
[libc++] Define an internal locale API as a shim on top of the curren…
ldionne Nov 6, 2024
86e4beb
[MIPS] LLVM data layout give i128 an alignment of 16 for mips64 (#112…
yingopq Nov 6, 2024
f61a8bc
[clang][x86] Prevent signed/unsigned comparison warnings on constexpr…
RKSimon Nov 6, 2024
7585e2f
[clang][x86] Add constexpr support for _mm_movepi64_pi64 and _mm_move…
RKSimon Nov 6, 2024
fb90733
[HLSL] implement elementwise firstbithigh hlsl builtin (#111082)
spall Nov 6, 2024
4f623c2
Merge from 'sycl' to 'sycl-web' (4 commits)
maarquitos14 Nov 6, 2024
b5d8a03
[AArch64] Add missing ASIMD FP convert instructions to scheduling mod…
Nov 6, 2024
8699f30
[rtsan] Add more socket interceptors (#115020)
cjappl Nov 6, 2024
7642238
[SLP]Support reordered buildvector nodes for better clustering
alexey-bataev Nov 6, 2024
c10d4b4
[clang][SYCL] Add a missing include to make the header standalone
gribozavr Nov 6, 2024
f548d39
[Clang][Test] Update test after #115159 (#115172)
sdkrystian Nov 6, 2024
723c656
Merge from 'sycl' to 'sycl-web' (10 commits)
Nov 6, 2024
3aa2f63
[clang][x86] Add constexpr support for _mm_castps_pd/_mm_castps_si128…
RKSimon Nov 6, 2024
f74aed7
[DAGCombiner] Add basic support for `trunc nsw/nuw` (#113808)
dtcxzyw Nov 6, 2024
201d760
[ELF] Add context-aware diagnostic functions (#112319)
MaskRay Nov 6, 2024
83f92c3
[RISCV] fix SP recovery in varargs functions (#114316)
dlav-sc Nov 6, 2024
9f3b6ad
[SLP][NFC]Exit early if the graph is empty, NFC
alexey-bataev Nov 6, 2024
6219c80
[libc] [unistd] implement pipe2 syscall wrapper (#114474)
duncpro Nov 6, 2024
b7ee03f
[clang-include-fixer] Use heterogenous lookups with std::map (NFC) (#…
kazutakahirata Nov 6, 2024
c4dfa03
[clang-tidy] Call StringMap::find without constructing std::string (N…
kazutakahirata Nov 6, 2024
18d2539
[StaticAnalyzer] Simplify code with DenseMap::operator[] (NFC) (#115116)
kazutakahirata Nov 6, 2024
4d12a14
[Instrumentation] Remove unused includes (NFC) (#115117)
kazutakahirata Nov 6, 2024
57ab62a
[flang] Add FIR AliasAnalysis alias() wrapper to allow external getSo…
SusanTan Nov 6, 2024
efe87fb
AMDGPU: Improve vector of pointer handling in amdgpu-promote-alloca (…
arsenm Nov 6, 2024
5dc8d61
[RISCV][GISel] Implement zexti32/zexti16 ComplexPatterns. (#115097)
topperc Nov 6, 2024
29e467f
[llvm] Deprecate Type::getPointerTo() (#113331)
JOE1994 Nov 6, 2024
aa79412
AMDGPU: Fold copy of scalar add of frame index (#115058)
arsenm Nov 6, 2024
3b0f506
[AMDGPU] Support `nuw` and `nusw` in buffer fat pointer lowering (#11…
krzysz00 Nov 6, 2024
270f7cf
[OpenMP][Docs] Update OpenMP supported features table (#115106)
ddpagan Nov 6, 2024
8dd9f20
[bazel] Fix mlir:VectorToSPIRV (#115188)
pranavk Nov 6, 2024
4d4024e
[lldb] Set MallocNanoZone for all sanitizers when running tests
JDevlieghere Nov 6, 2024
38cc03f
[PS5][Driver] Restore whole-archive state when `-fjmc` (#115181)
playstation-edd Nov 6, 2024
5a6cc50
[libc] add mremap (#112804)
SoftJing1 Nov 6, 2024
39f2bae
[HLSL] Add RasterizerOrderedStructuredBuffer definition to HLSLExtern…
hekota Nov 6, 2024
aae5a38
[libc][bazel] Mark socket functions weak (#115088)
michaelrj-google Nov 6, 2024
cb90d5b
[CMake] Enable CMP0156 if available (#115046)
etcwilde Nov 6, 2024
712c90e
[clang][x86] Add constexpr support for _mm_cvtsi64_sd
RKSimon Nov 6, 2024
6ccbf1d
[X86] combineSelect - use SelectableOp helper to match the zero opera…
RKSimon Nov 6, 2024
ffc2233
[AArch64][SVE2] Add pattern for constructive EXT instruction. (#115047)
aemerson Nov 6, 2024
8c75290
[AMDGPU] modify named barrier builtins and intrinsics (#114550)
cmc-rep Nov 6, 2024
cff2199
Revert "[GISel][AArch64][AMDGPU][RISCV] Canonicalize (sub X, C) -> (a…
topperc Nov 6, 2024
b231647
[libclc] Move relational functions to the CLC library (#115171)
frasercrmck Nov 6, 2024
381156c
[HLSL] Update tests to use splat for vector constants (#115198)
tex3d Nov 6, 2024
768b0b4
[RISCV] Add test cases for RV64 i128<->half/float/double (#115124)
topperc Nov 6, 2024
3ed4b0b
[NVPTX] Emit prmt selection value in hex (#115049)
justinfargnoli Nov 6, 2024
a1be09a
[mlir][linalg] Fix isAllParallelLoops method implementation. (#115179)
javedabsar1 Nov 6, 2024
e7bad34
[compiler-rt] Use installed libc++(abi) for tests instead of build tree
arichardson Nov 6, 2024
a036d18
[compiler-rt] Reduce build output for tests
arichardson Nov 6, 2024
5be02d7
[libc++abi] Stop copying headers to the build directory
arichardson Nov 6, 2024
ccf5d62
[AMDGPU] Fix a warning
kazutakahirata Nov 6, 2024
375d192
Revert "[NVPTX] Emit prmt selection value in hex" (#115204)
justinfargnoli Nov 6, 2024
199169c
Merge from 'main' to 'sycl-web' (46 commits)
maarquitos14 Nov 6, 2024
b57cbbc
[RISCV][GISel] Improve fptos/ui and s/uitofp handling and testing.
topperc Nov 6, 2024
bcb64e1
[clang][serialization] Reduce `ASTWriter::WriteSourceManagerBlock()` …
jansvoboda11 Nov 6, 2024
0276621
[clang][serialization] Reduce `ASTWriter::WriteControlBlock()` scope
jansvoboda11 Nov 6, 2024
d029420
Merge from 'sycl' to 'sycl-web' (2 commits)
Nov 6, 2024
e9bafa3
[mlir][tensor] Generalize/restrict `GeneralizeOuterUnitDimsPackOpPatt…
banach-space Nov 6, 2024
4a6d13b
Remove unused variable to fix '[AMDGPU] modify named barrier builtins…
thurstond Nov 6, 2024
304c412
[clang][serialization] Reduce `ASTWriter::writeUnhashedControlBlock()…
jansvoboda11 Nov 6, 2024
a878dc8
[flang][cuda] Do not emit warning for SHARED variable in device subpr…
clementval Nov 6, 2024
5942a99
[SandboxVec] Notify scheduler about new instructions (#115102)
vporpo Nov 6, 2024
ff533b9
[bazel] Add dep to BuiltinDialectTdFiles (#115217)
pranavk Nov 6, 2024
2f396d4
Merge from 'main' to 'sycl-web' (64 commits)
maarquitos14 Nov 6, 2024
f85be26
[AMDGPU] fix build error unused-var (#115199)
cmc-rep Nov 6, 2024
21ded66
[RISCV][GISel] Add zexti8 ComplexPattern.
topperc Nov 6, 2024
87f4bc0
[compiler-rt] [fuzzer] Skip trying to set the thread name on MinGW (#…
mstorsjo Nov 6, 2024
df0a56c
[bazel] Fix AMXDialect (#115221)
pranavk Nov 6, 2024
a6637ae
[clang][deps] Share `FileManager` between modules (#115065)
jansvoboda11 Nov 6, 2024
7ef7c0d
[RISCV] Refine vector division latencies in SiFive P600's scheduling …
mshockwave Nov 6, 2024
d08772b
Revert "[libc++abi] Stop copying headers to the build directory" (#11…
arichardson Nov 6, 2024
bd3a395
[lldb] Fix deprecated defines in debugserver (XROS -> VISIONOS) (NFC)
JDevlieghere Nov 6, 2024
f6617d6
[DebugInfo] Add num_extra_inhabitants to debug info (#112590)
augusto2112 Nov 6, 2024
cacbe71
[Analysis] Avoid running transform passes that have just been run (#1…
dtcxzyw Nov 6, 2024
bbc3af0
[dsymutil] Add missing newlines in error messages. (#115191)
rjmansfield Nov 6, 2024
84745da
[Analysis] Fix a warning (NFC)
kazutakahirata Nov 7, 2024
5348a30
[ExecutionEngine] Simplify code with DenseMap::operator[] (NFC) (#115…
kazutakahirata Nov 7, 2024
cbfe87c
[GlobalISel] Remove references to rhs of shufflevector if rhs is unde…
konstantinschwarz Nov 7, 2024
7c82875
[GISel][RISCV][AMDGPU] Add G_SHL, G_LSHR, G_ASHR to binop_left_to_zer…
topperc Nov 7, 2024
29a5c05
ValueTracking: Allow getUnderlyingObject to look at vectors (#114311)
arsenm Nov 7, 2024
0b33045
Merge from 'main' to 'sycl-web' (49 commits)
qichaogu Nov 7, 2024
30d8000
[flang][cuda] Allow SHARED actual to DEVICE dummy (#115215)
clementval Nov 7, 2024
32e66e9
Merge from 'sycl' to 'sycl-web' (1 commits)
Nov 7, 2024
6347f34
Merge from 'main' to 'sycl-web' (72 commits)
Nov 7, 2024
af5c471
[mlir][Vector] Add vector.extract(vector.shuffle) folder (#115105)
dcaballe Nov 7, 2024
7cb6677
[RISCV] Rework fixed-length masked load/store tests. NFC
lukel97 Nov 7, 2024
05f87b2
[RISCV] Lower fixed-length mload/mstore for zvfhmin/zvfbfmin (#115145)
lukel97 Nov 7, 2024
de18fa1
Don't redundantly specify the default template argument to `BumpPtrAl…
zygoloid Nov 7, 2024
70bc12e
[RISCV] Remove unnecessary scalar extensions from test. NFC
lukel97 Nov 7, 2024
c6091cd
[SLP][REVEC] Make shufflevector can be vectorized with ReorderIndices…
HanKuanChen Nov 7, 2024
da032b7
[RISCV][GISel] Use maskedValueIsZero in RISCVInstructionSelector::sel…
topperc Nov 7, 2024
3bdd711
[TableGen][GISel] Extract helper function for constraining operands (…
s-barannikov Nov 7, 2024
481ff22
[RISCV] Lower fixed-length vp_{gather,scatter} for zvfhmin/zvfbfmin (…
lukel97 Nov 7, 2024
f0e2301
[RISCV] Allow f16/bf16 with zvfhmin/zvfbfmin as legal interleaved acc…
lukel97 Nov 7, 2024
ae6dbed
[AMDGPU] Use correct DWord for v_dot4 S0 operand (#115224)
jrbyrnes Nov 7, 2024
f7ef7b2
[SandboxVec][Scheduler] Implement rescheduling (#115220)
vporpo Nov 7, 2024
63c6fe4
[ELF] Replace fatal(...) with Fatal or Err
MaskRay Nov 7, 2024
09c2c5e
[ELF] Replace error(...) with ErrAlways or Err
MaskRay Nov 7, 2024
f8bae3a
[ELF] Replace warn(...) with Warn
MaskRay Nov 7, 2024
acdd2fa
Revert "[libclc] Move abs/abs_diff to CLC library"
maarquitos14 Nov 7, 2024
06ba11c
Merge from 'sycl' to 'sycl-web' (2 commits)
Nov 7, 2024
f14bb4f
Merge from 'main' to 'sycl-web' (1 commits)
maarquitos14 Nov 7, 2024
c4c86d6
Merge from 'main' to 'sycl-web' (78 commits)
maarquitos14 Nov 7, 2024
b221afc
Merge from 'sycl' to 'sycl-web' (2 commits)
Nov 7, 2024
f1f2043
Merge with Conflict Markers
jsji Nov 22, 2024
4e208e6
Merge commit 'f8bae3af74e7c60d996f0d331cad04f2eace7f8f' into llvmspir…
jsji Nov 22, 2024
2070a4b
Update tests after LLVM IR splat syntax change (#2829)
svenvh Nov 7, 2024
2f75ef0
SPIRVReader: Support OpConstantComposite for cooperative matrix (#2826)
svenvh Nov 8, 2024
da0dce7
ensure that PHI node has an incoming value per each predecessor insta…
VyacheslavLevytskyy Nov 8, 2024
1317266
Generate load and store for OpCopyLogical (#2825)
bashbaug Nov 8, 2024
ea9c0c5
Remove unused var (#2854)
jsji Nov 13, 2024
ed629d3
SPIRVReader: Add OpSizeOf support (#2853)
svenvh Nov 13, 2024
3056050
Use untyped pointers when translating pointer to structure type (#2827)
vmaksimo Nov 13, 2024
80da033
Fix spelling of `dereferenceable` (#2855)
svenvh Nov 14, 2024
ff9380b
Use hasAlignment helper (#2856)
svenvh Nov 14, 2024
ad9ea64
Prevent unnecessary copies. (#2859)
maarquitos14 Nov 14, 2024
5a08891
Make LLVMToSPIRVBase comply with Rule of Five. (#2860)
maarquitos14 Nov 14, 2024
179db36
Restore test checks unintentionally lost in comments (#2830)
vmaksimo Nov 20, 2024
35d0115
Fix translation of `load` instruction used with `SPV_KHR_untyped_poin…
vmaksimo Nov 22, 2024
6387a05
Update sycl test using new splat syntax
jsji Nov 15, 2024
97f7fad
Merge remote-tracking branch 'origin/sycl' into llvmspirv_pulldown
jsji Nov 23, 2024
6c524eb
Update enqueue_kernel.cl after 88b18319c943
jsji Nov 23, 2024
69da5c5
libclc: fix clcmaro.h path for rsqrt.cl
jsji Dec 1, 2024
f6e2549
Merge branch 'sycl' into llvmspirv_pulldown
jsji Dec 1, 2024
16e0fe5
[NVPTX] Update test w/ nvvm.ldg.global.* removal in fb33af08e4c1
jsji Dec 1, 2024
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.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM docker.io/library/ubuntu:22.04 as base
ENV LLVM_SYSROOT=/opt/llvm

FROM base as stage1-toolchain
ENV LLVM_VERSION=18.1.8
ENV LLVM_VERSION=19.1.2

RUN apt-get update && \
apt-get install -y \
Expand Down
23 changes: 15 additions & 8 deletions .github/workflows/libcxx-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ env:
jobs:
stage1:
if: github.repository_owner == 'llvm'
runs-on: libcxx-runners-8-set
runs-on: libcxx-runners-set
container: ghcr.io/libcxx/actions-builder:testing-2024-09-21
continue-on-error: false
strategy:
fail-fast: false
Expand Down Expand Up @@ -79,12 +80,14 @@ jobs:
path: |
**/test-results.xml
**/*.abilist
**/CMakeConfigureLog.yaml
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
stage2:
if: github.repository_owner == 'llvm'
runs-on: libcxx-runners-8-set
runs-on: libcxx-runners-set
container: ghcr.io/libcxx/actions-builder:testing-2024-09-21
needs: [ stage1 ]
continue-on-error: false
strategy:
Expand Down Expand Up @@ -123,6 +126,7 @@ jobs:
path: |
**/test-results.xml
**/*.abilist
**/CMakeConfigureLog.yaml
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
Expand Down Expand Up @@ -160,20 +164,21 @@ jobs:
'benchmarks',
'bootstrapping-build'
]
machine: [ 'libcxx-runners-8-set' ]
machine: [ 'libcxx-runners-set' ]
include:
- config: 'generic-cxx26'
machine: libcxx-runners-8-set
machine: libcxx-runners-set
- config: 'generic-asan'
machine: libcxx-runners-8-set
machine: libcxx-runners-set
- config: 'generic-tsan'
machine: libcxx-runners-8-set
machine: libcxx-runners-set
- config: 'generic-ubsan'
machine: libcxx-runners-8-set
machine: libcxx-runners-set
# Use a larger machine for MSAN to avoid timeout and memory allocation issues.
- config: 'generic-msan'
machine: libcxx-runners-8-set
machine: libcxx-runners-set
runs-on: ${{ matrix.machine }}
container: ghcr.io/libcxx/actions-builder:testing-2024-09-21
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.config }}
Expand All @@ -188,6 +193,7 @@ jobs:
path: |
**/test-results.xml
**/*.abilist
**/CMakeConfigureLog.yaml
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
Expand Down Expand Up @@ -230,6 +236,7 @@ jobs:
path: |
**/test-results.xml
**/*.abilist
**/CMakeConfigureLog.yaml
**/CMakeError.log
**/CMakeOutput.log
**/crash_diagnostics/*
Expand Down
6 changes: 6 additions & 0 deletions bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,9 @@ class BinaryFunction {
/// Raw branch count for this function in the profile.
uint64_t RawBranchCount{0};

/// Dynamically executed function bytes, used for density computation.
uint64_t SampleCountInBytes{0};

/// Indicates the type of profile the function is using.
uint16_t ProfileFlags{PF_NONE};

Expand Down Expand Up @@ -1844,6 +1847,9 @@ class BinaryFunction {
/// to this function.
void setRawBranchCount(uint64_t Count) { RawBranchCount = Count; }

/// Return the number of dynamically executed bytes, from raw perf data.
uint64_t getSampleCountInBytes() const { return SampleCountInBytes; }

/// Return the execution count for functions with known profile.
/// Return 0 if the function has no profile.
uint64_t getKnownExecutionCount() const {
Expand Down
1 change: 1 addition & 0 deletions bolt/include/bolt/Utils/CommandLineOpts.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ extern llvm::cl::opt<bool> PrintSections;
enum ProfileFormatKind { PF_Fdata, PF_YAML };

extern llvm::cl::opt<ProfileFormatKind> ProfileFormat;
extern llvm::cl::opt<bool> ShowDensity;
extern llvm::cl::opt<bool> SplitEH;
extern llvm::cl::opt<bool> StrictMode;
extern llvm::cl::opt<bool> TimeOpts;
Expand Down
3 changes: 3 additions & 0 deletions bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2577,6 +2577,7 @@ struct CFISnapshot {
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
llvm_unreachable("unsupported CFI opcode");
Expand Down Expand Up @@ -2715,6 +2716,7 @@ struct CFISnapshotDiff : public CFISnapshot {
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
llvm_unreachable("unsupported CFI opcode");
Expand Down Expand Up @@ -2864,6 +2866,7 @@ BinaryFunction::unwindCFIState(int32_t FromState, int32_t ToState,
case MCCFIInstruction::OpAdjustCfaOffset:
case MCCFIInstruction::OpWindowSave:
case MCCFIInstruction::OpNegateRAState:
case MCCFIInstruction::OpNegateRAStateWithPC:
case MCCFIInstruction::OpLLVMDefAspaceCfa:
case MCCFIInstruction::OpLabel:
llvm_unreachable("unsupported CFI opcode");
Expand Down
3 changes: 1 addition & 2 deletions bolt/lib/Core/DIEBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -281,8 +281,7 @@ void DIEBuilder::buildTypeUnits(DebugStrOffsetsWriter *StrOffsetWriter,
for (auto &Row : TUIndex.getRows()) {
uint64_t Signature = Row.getSignature();
// manually populate TypeUnit to UnitVector
DwarfContext->getTypeUnitForHash(DwarfContext->getMaxVersion(), Signature,
true);
DwarfContext->getTypeUnitForHash(Signature, true);
}
}
const unsigned int CUNum = getCUNum(DwarfContext, isDWO());
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Core/HashUtilities.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ std::string hashBlockLoose(BinaryContext &BC, const BinaryBasicBlock &BB) {
continue;
}

std::string Mnemonic = BC.InstPrinter->getMnemonic(&Inst).first;
std::string Mnemonic = BC.InstPrinter->getMnemonic(Inst).first;
llvm::erase_if(Mnemonic, [](unsigned char ch) { return std::isspace(ch); });
Opcodes.insert(Mnemonic);
}
Expand Down
74 changes: 74 additions & 0 deletions bolt/lib/Passes/BinaryPasses.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "bolt/Core/ParallelUtilities.h"
#include "bolt/Passes/ReorderAlgorithm.h"
#include "bolt/Passes/ReorderFunctions.h"
#include "bolt/Utils/CommandLineOpts.h"
#include "llvm/Support/CommandLine.h"
#include <atomic>
#include <mutex>
Expand Down Expand Up @@ -223,6 +224,18 @@ static cl::opt<unsigned> TopCalledLimit(
"functions section"),
cl::init(100), cl::Hidden, cl::cat(BoltCategory));

// Profile density options, synced with llvm-profgen/ProfileGenerator.cpp
static cl::opt<int> ProfileDensityCutOffHot(
"profile-density-cutoff-hot", cl::init(990000),
cl::desc("Total samples cutoff for functions used to calculate "
"profile density."));

static cl::opt<double> ProfileDensityThreshold(
"profile-density-threshold", cl::init(60),
cl::desc("If the profile density is below the given threshold, it "
"will be suggested to increase the sampling rate."),
cl::Optional);

} // namespace opts

namespace llvm {
Expand Down Expand Up @@ -1383,6 +1396,7 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {
uint64_t StaleSampleCount = 0;
uint64_t InferredSampleCount = 0;
std::vector<const BinaryFunction *> ProfiledFunctions;
std::vector<std::pair<double, uint64_t>> FuncDensityList;
const char *StaleFuncsHeader = "BOLT-INFO: Functions with stale profile:\n";
for (auto &BFI : BC.getBinaryFunctions()) {
const BinaryFunction &Function = BFI.second;
Expand Down Expand Up @@ -1441,6 +1455,22 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {
StaleSampleCount += SampleCount;
++NumAllStaleFunctions;
}

if (opts::ShowDensity) {
uint64_t Size = Function.getSize();
// In case of BOLT split functions registered in BAT, executed traces are
// automatically attributed to the main fragment. Add up function sizes
// for all fragments.
if (IsHotParentOfBOLTSplitFunction)
for (const BinaryFunction *Fragment : Function.getFragments())
Size += Fragment->getSize();
double Density = (double)1.0 * Function.getSampleCountInBytes() / Size;
FuncDensityList.emplace_back(Density, SampleCount);
LLVM_DEBUG(BC.outs() << Function << ": executed bytes "
<< Function.getSampleCountInBytes() << ", size (b) "
<< Size << ", density " << Density
<< ", sample count " << SampleCount << '\n');
}
}
BC.NumProfiledFuncs = ProfiledFunctions.size();
BC.NumStaleProfileFuncs = NumStaleProfileFunctions;
Expand Down Expand Up @@ -1684,6 +1714,50 @@ Error PrintProgramStats::runOnFunctions(BinaryContext &BC) {
BC.outs() << ". Use -print-unknown to see the list.";
BC.outs() << '\n';
}

if (opts::ShowDensity) {
double Density = 0.0;
// Sorted by the density in descending order.
llvm::stable_sort(FuncDensityList,
[&](const std::pair<double, uint64_t> &A,
const std::pair<double, uint64_t> &B) {
if (A.first != B.first)
return A.first > B.first;
return A.second < B.second;
});

uint64_t AccumulatedSamples = 0;
uint32_t I = 0;
assert(opts::ProfileDensityCutOffHot <= 1000000 &&
"The cutoff value is greater than 1000000(100%)");
while (AccumulatedSamples <
TotalSampleCount *
static_cast<float>(opts::ProfileDensityCutOffHot) /
1000000 &&
I < FuncDensityList.size()) {
AccumulatedSamples += FuncDensityList[I].second;
Density = FuncDensityList[I].first;
I++;
}
if (Density == 0.0) {
BC.errs() << "BOLT-WARNING: the output profile is empty or the "
"--profile-density-cutoff-hot option is "
"set too low. Please check your command.\n";
} else if (Density < opts::ProfileDensityThreshold) {
BC.errs()
<< "BOLT-WARNING: BOLT is estimated to optimize better with "
<< format("%.1f", opts::ProfileDensityThreshold / Density)
<< "x more samples. Please consider increasing sampling rate or "
"profiling for longer duration to get more samples.\n";
}

BC.outs() << "BOLT-INFO: Functions with density >= "
<< format("%.1f", Density) << " account for "
<< format("%.2f",
static_cast<double>(opts::ProfileDensityCutOffHot) /
10000)
<< "% total sample counts.\n";
}
return Error::success();
}

Expand Down
15 changes: 12 additions & 3 deletions bolt/lib/Profile/DataAggregator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -638,8 +638,12 @@ void DataAggregator::processProfile(BinaryContext &BC) {
: BinaryFunction::PF_LBR;
for (auto &BFI : BC.getBinaryFunctions()) {
BinaryFunction &BF = BFI.second;
if (getBranchData(BF) || getFuncSampleData(BF.getNames()))
FuncBranchData *FBD = getBranchData(BF);
if (FBD || getFuncSampleData(BF.getNames())) {
BF.markProfiled(Flags);
if (FBD)
BF.RawBranchCount = FBD->getNumExecutedBranches();
}
}

for (auto &FuncBranches : NamesToBranches)
Expand Down Expand Up @@ -845,6 +849,12 @@ bool DataAggregator::doTrace(const LBREntry &First, const LBREntry &Second,
return false;
}

// Set ParentFunc to BAT parent function or FromFunc itself.
BinaryFunction *ParentFunc = getBATParentFunction(*FromFunc);
if (!ParentFunc)
ParentFunc = FromFunc;
ParentFunc->SampleCountInBytes += Count * (Second.From - First.To);

std::optional<BoltAddressTranslation::FallthroughListTy> FTs =
BAT ? BAT->getFallthroughsInTrace(FromFunc->getAddress(), First.To,
Second.From)
Expand All @@ -864,13 +874,12 @@ bool DataAggregator::doTrace(const LBREntry &First, const LBREntry &Second,
<< FromFunc->getPrintName() << ":"
<< Twine::utohexstr(First.To) << " to "
<< Twine::utohexstr(Second.From) << ".\n");
BinaryFunction *ParentFunc = getBATParentFunction(*FromFunc);
for (auto [From, To] : *FTs) {
if (BAT) {
From = BAT->translate(FromFunc->getAddress(), From, /*IsBranchSrc=*/true);
To = BAT->translate(FromFunc->getAddress(), To, /*IsBranchSrc=*/false);
}
doIntraBranch(ParentFunc ? *ParentFunc : *FromFunc, From, To, Count, false);
doIntraBranch(*ParentFunc, From, To, Count, false);
}

return true;
Expand Down
4 changes: 4 additions & 0 deletions bolt/lib/Utils/CommandLineOpts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,10 @@ cl::opt<std::string> SaveProfile("w",
cl::desc("save recorded profile to a file"),
cl::cat(BoltOutputCategory));

cl::opt<bool> ShowDensity("show-density",
cl::desc("show profile density details"),
cl::Optional, cl::cat(AggregatorCategory));

cl::opt<bool> SplitEH("split-eh", cl::desc("split C++ exception handling code"),
cl::Hidden, cl::cat(BoltOptCategory));

Expand Down
16 changes: 15 additions & 1 deletion bolt/test/X86/pre-aggregated-perf.test
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,21 @@ REQUIRES: system-linux

RUN: yaml2obj %p/Inputs/blarge.yaml &> %t.exe
RUN: perf2bolt %t.exe -o %t --pa -p %p/Inputs/pre-aggregated.txt -w %t.new \
RUN: --profile-use-dfs | FileCheck %s
RUN: --show-density \
RUN: --profile-density-threshold=9 --profile-density-cutoff-hot=970000 \
RUN: --profile-use-dfs | FileCheck %s --check-prefix=CHECK-P2B

CHECK-P2B: BOLT-INFO: 4 out of 7 functions in the binary (57.1%) have non-empty execution profile
CHECK-P2B: BOLT-INFO: Functions with density >= 21.7 account for 97.00% total sample counts.

RUN: perf2bolt %t.exe -o %t --pa -p %p/Inputs/pre-aggregated.txt -w %t.new \
RUN: --show-density \
RUN: --profile-density-cutoff-hot=970000 \
RUN: --profile-use-dfs 2>&1 | FileCheck %s --check-prefix=CHECK-WARNING

CHECK-WARNING: BOLT-INFO: 4 out of 7 functions in the binary (57.1%) have non-empty execution profile
CHECK-WARNING: BOLT-WARNING: BOLT is estimated to optimize better with 2.8x more samples.
CHECK-WARNING: BOLT-INFO: Functions with density >= 21.7 account for 97.00% total sample counts.

RUN: llvm-bolt %t.exe -data %t -o %t.null | FileCheck %s
RUN: llvm-bolt %t.exe -data %t.new -o %t.null | FileCheck %s
Expand Down
1 change: 1 addition & 0 deletions bolt/tools/driver/llvm-bolt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ void perf2boltMode(int argc, char **argv) {
exit(1);
}
opts::AggregateOnly = true;
opts::ShowDensity = true;
}

void boltDiffMode(int argc, char **argv) {
Expand Down
4 changes: 4 additions & 0 deletions clang-tools-extra/clang-doc/Generators.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,4 +55,8 @@ std::string getTagType(TagTypeKind AS);
} // namespace doc
} // namespace clang

namespace llvm {
extern template class Registry<clang::doc::Generator>;
} // namespace llvm

#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_DOC_GENERATOR_H
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ InMemorySymbolIndex::InMemorySymbolIndex(

std::vector<SymbolAndSignals>
InMemorySymbolIndex::search(llvm::StringRef Identifier) {
auto I = LookupTable.find(std::string(Identifier));
auto I = LookupTable.find(Identifier);
if (I != LookupTable.end())
return I->second;
return {};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ class InMemorySymbolIndex : public SymbolIndex {
search(llvm::StringRef Identifier) override;

private:
std::map<std::string, std::vector<find_all_symbols::SymbolAndSignals>>
std::map<std::string, std::vector<find_all_symbols::SymbolAndSignals>,
std::less<>>
LookupTable;
};

Expand Down
Loading
Loading