Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

LLVM and SPIRV-LLVM-Translator pulldown (WW30 2024) #14813

Merged
merged 2,531 commits into from
Aug 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2531 commits
Select commit Hold shift + click to select a range
f1c957d
[libc] newheadergen: script adjusted for cmake (#98825)
aaryanshukla Jul 16, 2024
bccd119
[AMDGPU] Get rid of the +wavefrontsizeXX,-wavefrontsizeXX in MC tests…
rampitec Jul 16, 2024
bb604ae
[LLVM][LTO] Add missing dependency
vitalybuka Jul 16, 2024
e094abd
[SelectionDAG] Expand [US]CMP using arithmetic on boolean values inst…
Poseydon42 Jul 16, 2024
9078036
[lld] Add emulation support for hexagon (#98857)
androm3da Jul 16, 2024
ff6ff2e
NFC: Mark instrprof-gc-sections.c unsupported on ppc64le
kamaub Jul 16, 2024
d01d9ab
[SandboxIR][NFC] Move sandboxir::Use into a separate file (#99074)
vporpo Jul 16, 2024
80e18b9
[llvm-dlltool] Remove the i386 underscore prefix from COFFImportFile:…
mstorsjo Jul 16, 2024
ad2ff17
[lld][WebAssembly] Work around limited architecture detection for was…
sbc100 Jul 16, 2024
4469650
[llvm-dlltool] Handle import renaming using other name types, when po…
mstorsjo Jul 16, 2024
f2d6d74
[llvm-dlltool] Fix renamed imports without a separate regular import …
mstorsjo Jul 16, 2024
b7b77b0
Reapply [lldb][DWARF] Delay struct/class/union definition DIE searchi…
ZequanWu Jul 16, 2024
9be5f4f
[DirectX] Start documenting DXIL Resource handling (#90553)
bogner Jul 16, 2024
4199f80
[LAA] Adjust test from a4f8705b05 so RT checks aren't always false.
fhahn Jul 16, 2024
434c238
Revert "[tsan] Replace ALIGNED with alignas" (#99240)
mysterymath Jul 16, 2024
f7cee44
[libc] Add `strerror` and `strerror_k` to the GPU (#99083)
jhuber6 Jul 16, 2024
8393ea5
[libc] Implement `clock_gettime` for the monotonic clock on the GPU (…
jhuber6 Jul 16, 2024
898c116
[tsan] Avoid ALIGNED in tsan_platform_mac.cpp. NFC
MaskRay Jul 16, 2024
4155387
Preadv2 pwritev2 san reapply (#99089)
devnexen Jul 16, 2024
7bb6bb9
[tsan] Replace ALIGNED with alignas
MaskRay Jul 16, 2024
49b2c30
[libc][docs] Document printf support on the GPU target (#99241)
jhuber6 Jul 16, 2024
e215cf7
[bazel] Port changes from main (#99247)
keith Jul 16, 2024
f761e50
[CMake][Fuchsia] Use escaped double quote (#99246)
petrhosek Jul 16, 2024
c461058
[clang-doc] add nested namespace test case (#97681)
PeterChou1 Jul 16, 2024
eab3738
[clang-doc] add enum test (#97679)
PeterChou1 Jul 16, 2024
e8ab413
[RISCV] Add capital letters to T-Head extension names in descriptions…
topperc Jul 16, 2024
dbc3df1
[RISCV] Remove unnecessary call to MachineFunction::getSubtarget. NFC
topperc Jul 16, 2024
6ad2987
[lld-macho] Omit `__llvm_addrsig` metadata from the output (#98913)
BertalanD Jul 16, 2024
ffbda47
[mlir] Fix build error (NFC)
DamonFool Jul 16, 2024
bed625b
[MC,ELF] Emit warning if a string constant contains newline char (#98…
chestnykh Jul 16, 2024
f56cdd4
[NFC] Use named variable for test case `select-from-load.ll`
shiltian Jul 16, 2024
b6c4ad7
[RISCV] Remove x7 from fastcc list. (#96729)
yetingk Jul 17, 2024
746cea3
[VP][RISCV] Introduce vp.splat and RISC-V. (#98731)
yetingk Jul 17, 2024
cf6233f
[lld-link] Change /lldemit:llvm to use the pre-codegen module
MaskRay Jul 17, 2024
b042af3
[clang codegen] Precommit tests for PR96025, NFC (#98704)
vfdff Jul 17, 2024
befd44b
[AMDGPU] Update hasUnwantedEffectsWhenEXECEmpty (#97982)
perlfu Jul 17, 2024
1b873e5
[CodeGen][NewPM] Port `phi-node-elimination` to new pass manager (#98…
paperchalice Jul 17, 2024
484fdb9
[clang codegen] Fix the ci fail for PR98704 (#99267)
vfdff Jul 17, 2024
493d504
[GlobalIsel] Fix Machine Verifier errors (#99018)
tschuett Jul 17, 2024
3850912
[LoongArch] Enable the TypePromotion pass from AArch64 (#98868)
heiher Jul 17, 2024
9e9924c
[RISCV] Don't fold vmerge.vvm or vmv.v.v into vredsum.vs if AVL chang…
lukel97 Jul 17, 2024
6192f45
[libc++] Make `std::lock_guard` available with `_LIBCPP_HAS_NO_THREAD…
petrhosek Jul 17, 2024
6d26e57
[RISCV] Remove accidentally duplicated isel patterns. NFC
topperc Jul 17, 2024
8ca7e24
[RISCV] Add more vector setcc VI isel patterns.
topperc Jul 17, 2024
f0ac890
[RISCV][NFC] Fix intrinsic misspelled in a comment (#98998)
pfusik Jul 17, 2024
3fe50b6
[BOLT] Store FileSymRefs in a multimap
aaupov Jul 17, 2024
20861f1
[mlir][gpu] Use alloc OP's `host_shared` in cuda runtime (#99035)
grypp Jul 17, 2024
e316f19
[LoongArch] Pre-commit tests for spurious mask removal. NFC
heiher Jul 16, 2024
b330d80
Reapply [Clang][C++26] Implement "Ordering of constraints involving f…
cor3ntin Jul 17, 2024
f10a78b
[AMDGPU] clang-tidy: use std::make_unique. NFC.
jayfoad Jul 16, 2024
31087c5
[flang] handle alloca outside of entry blocks in MemoryAllocation (#9…
jeanPerier Jul 17, 2024
578c619
[libc++] Simplify std::is_void (#99033)
philnik777 Jul 17, 2024
f2251f9
[mlir][gpu] Add mlir_c_runner_utils to fix #99035
grypp Jul 17, 2024
863ad5a
[clang][Interp][NFC] Remove Block::deref()
tbaederr Jul 16, 2024
d3dab0c
[clang][Interp][NFC] Assert initialization state in invoke{C,D}tor
tbaederr Jul 16, 2024
5e338f1
[AMDGPU] clang-tidy: use emplace_back instead of push_back. NFC.
jayfoad Jul 17, 2024
a5b5208
[clang] Be careful when choosing "fast path" for initialization with …
Fznamznon Jul 17, 2024
0905732
[clang-tools-extra] Fix typos in Modularize.rst (#99256)
Abe149 Jul 17, 2024
caaf809
[Offload][OMPT] Add callbacks for (dis)associate_ptr (#99046)
jplehr Jul 17, 2024
d28ed29
[TTI][WebAssembly] Pairwise reduction expansion (#93948)
sparker-arm Jul 17, 2024
f270a4d
[AArch64] Don't tail call memset if it would convert to a bzero. (#98…
aemerson Jul 17, 2024
a751f65
[lldb][RISCV] function prologue backtrace fix (#99043)
dlav-sc Jul 17, 2024
8bf952d
[flang][test] Fix mtune test on AArch64 bots
DavidSpickett Jul 17, 2024
72b3d7b
[clang][Interp] Makre sure we don't overflow Descriptor::AllocSize
tbaederr Jul 17, 2024
7c597c0
[Utils][vim] Match vector 'splat' keyword (#99004)
frasercrmck Jul 17, 2024
2e56497
[Utils][vim] Match more hexadecimal float constants (#99000)
frasercrmck Jul 17, 2024
c7309da
[AMDGPU] Use range-based for loops. NFC. (#99047)
jayfoad Jul 17, 2024
de61875
[MLIR][Vector] Generalize DropUnitDimFromElementwiseOps to non leadin…
nujaa Jul 17, 2024
3941f65
adjust the m86k backend after change f270a4dd6667759d7305797a077ae096…
sylvestre Jul 17, 2024
aa21ee7
[MLIR] Add attributes no_unwind and will_return to the LLVMIR dialect…
FMarno Jul 17, 2024
39d751a
[clang][Interp] Use an array root's field decl in the LValuePath
tbaederr Jul 17, 2024
cf67360
[LV] Use VF from selected plan when creating InnerLoopVectorizer.
fhahn Jul 17, 2024
35a3b66
[X86] Fold blend(pshufb(x,m1),pshufb(y,m2)) -> blend(pshufb(x,blend(m…
RKSimon Jul 17, 2024
f56db78
[C API] Support new ptrauth constant type (#93909)
Benjins Jul 17, 2024
e9b2a25
[nsan] Swap alignas and visibility order (NFC) (#98933)
nikic Jul 17, 2024
e94e72a
Reapply "[clang][Interp] Implement dynamic memory allocation handling…
tbaederr Jul 15, 2024
20c6b9f
[flang][debug] Fix issues with local variables. (#98661)
abidh Jul 17, 2024
c5329c8
[LV][AArch64] Prefer Fixed over Scalable if cost-model is equal (Neov…
sjoerdmeijer Jul 17, 2024
9b9194a
[gn build] Port e94e72a0c229
llvmgnsyncbot Jul 17, 2024
0b71d80
[InstrRef][NFC] Avoid un-necessary DenseMap queries (#99048)
jmorse Jul 17, 2024
8d28a41
[AMDGPU] Remove SIWholeQuadMode pass early exit (#98450)
perlfu Jul 17, 2024
d216615
[LV] Process dead interleave pointer ops in reverse order.
fhahn Jul 17, 2024
762c607
[AArch64][GISel] Add test cases for folding shifts into load/store ad…
Him188 Jun 24, 2024
2901848
Revert "[AArch64] Remove superfluous sxtw in peephole opt (#96293)"
krasimirgg Jul 17, 2024
8156be6
[LV][NFC]Introduce isScalableVectorizationAllowed() to refactor getMa…
alexey-bataev Jul 17, 2024
440fffa
[Clang][Concepts] Avoid substituting into constraints for invalid Tem…
zyn0217 Jul 17, 2024
6425f2d
[SLP]Improve minbitwidth analysis for trun'ed gather nodes.
alexey-bataev Jul 17, 2024
d2bfc2b
[emacs] Fix autoloading for llvm-mir-mode (#98984)
jian-lin Jul 17, 2024
343ed3f
[lldb][Bazel]: Adapt BUILD.bazel file for a751f653b40f2021f091a2f1ebc…
akuegel Jul 17, 2024
8d97cbc
Revert "[lldb][Bazel]: Adapt BUILD.bazel file for a751f653b40f2021f09…
akuegel Jul 17, 2024
b5b9832
[lldb][Bazel]: Second attempt to adapt for a751f653b40f2021f091a2f1eb…
akuegel Jul 17, 2024
64f67a4
adjust the Xtensa backend after change f270a4dd6667759d7305797a077ae0…
sylvestre Jul 17, 2024
bc8a8f5
[clang][Sema] Improve `Sema::CheckCXXDefaultArguments` (#97338)
MagentaTreehouse Jul 17, 2024
fa0e529
[Flang] Exclude the reference to TIME_UTC for AIX. (#99069)
DanielCChen Jul 17, 2024
1813ffd
[SLP][REVEC] Make SLP support revectorization (-slp-revec) and add si…
HanKuanChen Jul 17, 2024
329e7c8
[Clang] [C23] Implement N2653: u8 strings are char8_t[] (#97208)
MitalAshok Jul 17, 2024
177ce19
[LLVM] Add `llvm.experimental.vector.compress` intrinsic (#92289)
lawben Jul 17, 2024
b05ccaf
Revert "[SLP]Improve minbitwidth analysis for trun'ed gather nodes."
alexey-bataev Jul 17, 2024
e093109
[InstrRef][NFC] Avoid another DenseMap, use a sorted vector (#99051)
jmorse Jul 17, 2024
8917d52
[X86] createSetFPEnvNodes - pass SDLoc by reference instead of value.
RKSimon Jul 16, 2024
396a5ba
[Clang] Add attribute for consteval builtin functions (#91894)
MitalAshok Jul 17, 2024
6451806
[Clang] Require base element type of `__has_unique_object_representat…
MitalAshok Jul 17, 2024
544c390
[CodeGen] Fix -Wunused-variable in SelectionDAG.cpp (NFC)
DamonFool Jul 17, 2024
75b3ddf
[VPlan] Use State.VF in vectorizeInterleaveGroup (NFCI).
fhahn Jul 17, 2024
3fae555
[MLIR][ROCDL] Refactor conversion of math operations to ROCDL calls t…
jsjodin Jul 17, 2024
8687f7c
[RISCV] Support constant hoisting of immediate store values (#96073)
asb Jul 17, 2024
d3d2f9a
[SLP]Improve minbitwidth analysis for trun'ed gather nodes.
alexey-bataev Jul 17, 2024
05b067b
Revert "[SLP]Improve minbitwidth analysis for trun'ed gather nodes."
alexey-bataev Jul 17, 2024
c5c1bd1
[SLP]Improve minbitwidth analysis for trun'ed gather nodes.
alexey-bataev Jul 17, 2024
554febd
[Clang] Fix some assertions not looking through type sugar (#92299)
MitalAshok Jul 17, 2024
ec9d62f
[lldb] Disable verbose_trap.test on Windows (#99323)
luporl Jul 17, 2024
77b2c68
[clang-tidy] Add support for std::rotate(_copy) and inplace_merge to …
njames93 Jul 17, 2024
c034c44
[InstCombine] Fold select of symmetric selects (#99245)
tgymnich Jul 17, 2024
a56e009
[Clang] [C23] Fix typeof_unqual for qualified array types (#92767)
MitalAshok Jul 17, 2024
5d42d69
[libc] Change rand implementation so all tests pass in both 32- and 6…
mikhailramalho Jul 17, 2024
60b6f43
[libc++][ranges] LWG4001: `iota_view` should provide `empty` (#79687)
H-G-Hristov Jul 17, 2024
351a4b2
[AMDGPU] Simplify alias stripping to use utility function
jhuber6 Jul 17, 2024
e9fdc68
[Clang][NFC] Remove unnecessary copy (#97902)
smanna12 Jul 17, 2024
73799b4
[libc] Added missing operator delete generated by gcc/clang (#67457)
mikhailramalho Jul 17, 2024
daab6fc
[Transforms] DXILResource.cpp - fix MSVC "not all control paths retur…
RKSimon Jul 17, 2024
3ad7108
[flang][cuda] Avoid temporary when RHS is a logical constant (#99078)
clementval Jul 17, 2024
666d224
[clang-tidy] Fix modernize-use-std-print/format for fmt (#99021)
mikecrowe Jul 17, 2024
c63125d
[mlir] Fix block merging (#97697)
giuseros Jul 17, 2024
850a2e6
[flang] Fix compiler warning (#99306)
tblah Jul 17, 2024
136737d
[libc++] Deprecates rel_ops. (#91642)
mordante Jul 17, 2024
7fc9fb9
[libc][math] Implement double precision cbrt correctly rounded to all…
lntue Jul 17, 2024
ac1d5fa
[libc][math] Remove constexpr quantifier from cbrt's utility function…
lntue Jul 17, 2024
e5ccc71
[libc] Add missing -latomic for rv32 (#99337)
mikhailramalho Jul 17, 2024
a10570b
[MachO] Detect overflow in section offset. (#98685)
efriedma-quic Jul 17, 2024
2d42f84
[MC] Fix emission in asm of alignment 2^32. (#98688)
efriedma-quic Jul 17, 2024
c077a4f
[mlir][Tensor] Add pattern to fold concats of empty. (#98994)
MaheshRavishankar Jul 17, 2024
c736ca8
[clang-tidy] Ensure functions are anchored in the global namespace (#…
matthew-f Jul 17, 2024
86ef699
[lldb] progressive progress reporting for darwin kernel/firmware (#98…
jasonmolenda Jul 17, 2024
c7b08ac
[lld-macho][test] Require "shell" feature for usage of `ln -s` (#99355)
BertalanD Jul 17, 2024
6867e49
[mlir][spirv] Implement vector type legalization for function signatu…
angelz913 Jul 17, 2024
d748dab
[bazel] Port #98653 (#99356)
keith Jul 17, 2024
963e25a
[libc++][NFC] Remove a few unused includes (#98808)
philnik777 Jul 17, 2024
81955da
[libc++] Remove special handling of the native C++ library in benchma…
ldionne Jul 17, 2024
18cdfa7
[SampleFDO] Stale profile call-graph matching (#95135)
wlei-llvm Jul 17, 2024
0bb68b5
Performance optimizations for function effects (nonblocking attribute…
dougsonos Jul 17, 2024
0778f5c
[ELF] Support NOCROSSREFS and NOCROSSERFS_TO
MaskRay Jul 17, 2024
93d38d7
[lldb][test] Fix simulator test for std::unique_ptr (#99357)
luporl Jul 17, 2024
858147d
[CMake][Fuchsia] Include new/delete in baremetal targets (#99279)
petrhosek Jul 17, 2024
e3b8d36
[ARC,CSKY] Update getMemcpy after #98969
MaskRay Jul 17, 2024
321a0c0
The pragma STDC CX_LIMITED_RANGE ON should have precedence. (#98520)
zahiraam Jul 17, 2024
ddbf5ea
[SandboxIR][NFC] Add some comments (#99359)
vporpo Jul 17, 2024
093f0a4
[instcombine] Improve coverage for reductions of i1 types
preames Jul 17, 2024
ead486c
[ClangLinkerWrapper] Fix intermediate file naming for multi-arch comp…
saiislam Jul 17, 2024
130ef73
[CMake][Fuchsia] Install libc++ for baremetal targets (#99372)
petrhosek Jul 17, 2024
194f98c
[libc++] basic_ios<wchar_t> cannot store fill character WCHAR_MAX (#8…
xingxue-ibm Jul 17, 2024
da5264e
[bazel][docs] Update build documentation (#99339)
angelz913 Jul 17, 2024
21e6777
[mlir][NFC] Add rewrite header to fix standalone header compile (#99370)
rupprecht Jul 17, 2024
ff08215
[msan] Precommit MSan Arm NEON vst tests (#98247)
thurstond Jul 17, 2024
51122fb
[BOLT][NFC] Fix build (#99361)
yota9 Jul 17, 2024
a51f343
[CodeGen] Emit more efficient magic numbers for exact udivs (#87161)
AZero13 Jul 17, 2024
d85f105
[RISCV] Teach fillUpExtensionSupportForSplat to handle nxvXi64 VMV_V_…
topperc Jul 17, 2024
b5e4d32
[bazel][mlir] Add MathToROCDL to fix layering check (#99377)
rupprecht Jul 17, 2024
8044a86
[compiler-rt][www] Update standalone build instruction (#98707)
vitalybuka Jul 17, 2024
495d3ea
[MachineSink][RISCV] Only call isConstantPhysReg or isIgnorableUse fo…
topperc Jul 17, 2024
63fae3e
[AMDGPU] clang-tidy: no else after return etc. NFC. (#99298)
jayfoad Jul 17, 2024
2bb6566
[LV] Allow re-processing of operands of instrs feeding interleave group
fhahn Jul 17, 2024
a742693
[ctx_prof] Add missing test for `PGOContextualProfile::getContainedGu…
mtrofin Jul 17, 2024
33cb29c
[flang][cuda] Use cuf.alloc/cuf.free for local descriptor (#98518)
clementval Jul 17, 2024
fffe272
[ADT] Make set_subtract more efficient when subtrahend is larger (NFC…
teresajohnson Jul 17, 2024
3061963
Revert "[ADT] Make set_subtract more efficient when subtrahend is lar…
teresajohnson Jul 17, 2024
1ecffda
[libc] Add Kernel Resource Usage to nvptx-loader (#97503)
jameshu15869 Jul 17, 2024
82b800e
[SLP][NFC]Limit number of the external uses analysis, NFC.
alexey-bataev Jul 17, 2024
10b4834
[libc] Fix wrong printf usage in AMDGPU loader
jhuber6 Jul 17, 2024
f6add66
[instcombine] Extend logical reduction canonicalization to scalable v…
preames Jul 17, 2024
d08527e
[scudo] Add static vector functionality. (#98986)
JoshuaMBa Jul 17, 2024
07f8a65
[clang] Ensure pointers passed to runtime support functions are corre…
ojhunt Jul 17, 2024
7647174
[flang] Add -rtlib flag (#99058)
DavidTruby Jul 17, 2024
83251a2
[libFuzzer] Fix incorrect coverage number in fork mode (#82335)
yescallop Jul 17, 2024
884772f
[Sema] Don't drop weak_import from a declaration if its definition is…
ahatanak Jul 17, 2024
83fbd79
[libc] newheadergen: configured cmake (#98828)
aaryanshukla Jul 17, 2024
9ce5b38
[libc] final edits to newheadergen yaml files (#98983)
RoseZhang03 Jul 17, 2024
e0f3484
[lldb][nfc] add an nfc entry to the .git-blame-ignore-revs.
jasonmolenda Jul 17, 2024
90cbb1e
[libc] Temporarily disable statvfs header (#99405)
michaelrj-google Jul 17, 2024
ad023a8
[libc] newheadergen: cmakelist file changes (#99404)
aaryanshukla Jul 17, 2024
d772cdd
[ADT] Make set_subtract more efficient when subtrahend is larger (NFC…
kazutakahirata Jul 17, 2024
21c8c22
[libc] newheadergen: removing extra .h (#99408)
aaryanshukla Jul 17, 2024
ab142c6
[libc] newheadergen: quick fix to fuchsia build (#99410)
aaryanshukla Jul 18, 2024
d5fe735
Revert "[libc] newheadergen: quick fix to fuchsia build" (#99412)
aaryanshukla Jul 18, 2024
ad4da83
Revert "[libc] newheadergen: cmakelist file changes" (#99413)
aaryanshukla Jul 18, 2024
58d4ca0
Revert "[libc] newheadergen: configured cmake" (#99414)
aaryanshukla Jul 18, 2024
4283f1a
[NFC][fuzzer] Remove unhelpful lit notes
vitalybuka Jul 18, 2024
888b130
[lld][WebAssembly] Consolidate --fatal-warnings and --no-fatal-warnin…
sbc100 Jul 18, 2024
c41fa0f
[LoongArch] Remove spurious mask operations from andn->icmp on 16 and…
heiher Jul 18, 2024
fe6c240
[clangd] [C++20] [Modules] Introduce initial support for C++20 Module…
ChuanqiXu9 Jul 18, 2024
3e47f6b
Rapply "[Target] Use range-based for loops (NFC) (#98844)"
kazutakahirata Jul 18, 2024
ad15428
[NFC][libc++][test] loosen XFAIL condition for setfill_wchar_max.pass…
daltenty Jul 18, 2024
edfe250
[MemProf] Consolidate increments in callee matching code (#99385)
teresajohnson Jul 18, 2024
c184b94
[C++20] [Modules] Write ODRHash for decls in GMF
ChuanqiXu9 Jul 18, 2024
464d321
[flang][stack-arrays] Extend pass to work on declare ops and within o…
ergawy Jul 18, 2024
5338bd3
[SandboxIR] IR Tracker (#99238)
vporpo Jul 18, 2024
27ee33d
[mlir][linalg] Decompose winograd operators (#96183)
Hsiangkai Jul 18, 2024
4782a4a
[OpenMP] Fix calculation of dependencies for multi-dimensional iterat…
jprotze Jul 18, 2024
810adba
[RISCV] Remove unused include in RISCVMCTargetDesc.h (#98790)
RossComputerGuy Jul 18, 2024
fbf8b82
[clang][Interp][NFC] Be more cautious about Block initialization state
tbaederr Jul 17, 2024
0e986e3
[MLGO] Fix MLGO executable scripts
boomanaiden154 Jul 18, 2024
1e6672a
[Flang][Runtime] Simplify StringLength implementation
serge-sans-paille Jul 13, 2024
f363317
[APFloat] Add support for f8E4M3 IEEE 754 type (#97179)
apivovarov Jul 18, 2024
7b08c27
[mlir][Linalg] Remove unused header include.
akuegel Jul 18, 2024
0ce3ea1
[AMDGPU] Simplify selection of llvm.amdgcn.inverse.ballot. NFCI. (#99…
jayfoad Jul 18, 2024
14c323c
[OpenMP][AMDGPU] Do not attach -fcuda-is-device (#99002)
DominikAdamski Jul 18, 2024
7aabdb8
[clang][Interp][NFC] Protect ByteCodeEmitter against unfinished fns
tbaederr Jul 17, 2024
4b9bcab
[AArch64] Add streaming-mode stack hazards. (#98956)
davemgreen Jul 18, 2024
8afb395
[sanitizer] Fix running sanitizer_bad_report_path_test on Linux as ro…
iii-i Jul 18, 2024
a19e5ae
[flang] load SECOND result in genSecond (#99342)
jeanPerier Jul 18, 2024
e93df78
[llvm/DWARF] Recursively resolve DW_AT_signature references (#97423)
labath Jul 18, 2024
09cbb45
[BOLT][DWARF][NFC] A better DIEBuilder for the llvm API change in #98…
labath Jul 18, 2024
eb4807c
Fix conflict resolution
jsji Jul 18, 2024
6d684cd
Merge from 'sycl' to 'sycl-web'
Jul 18, 2024
f021e6a
Merge sycl-web to sycl
sys-ce-bb Jul 26, 2024
df878c6
Merge commit '09cbb45edd149d30766c87be4628e4df13f3496d' into llvmspir…
sys-ce-bb Jul 26, 2024
b04ed40
Support SMulExtended and UMulExtended SPIR-V instructions (#2608)
vmaksimo Jun 27, 2024
0f8c286
Removed OpLessOrGreater (#2527)
vmaksimo Jul 2, 2024
35c133f
Move the version to supported (#2622)
vmaksimo Jul 3, 2024
bab0a9d
Set DEBUG_TYPE after all includes (#2632)
svenvh Jul 5, 2024
e26c5a7
Do not pass -DLLVM_EXTERNAL_PROJECTS="SPIRV-Headers" for an out of tr…
Zopolis4 Jul 8, 2024
b1c91ca
Allow llvm-spirv to be built natively in LLVM cross builds. (#2633)
hvdijk Jul 8, 2024
e265f23
Update README.md after 21038c1 (#2636)
MrSidims Jul 8, 2024
feaa59c
Don't add initializer to local variables with external linkage (#2637)
maarquitos14 Jul 9, 2024
a4d0957
Set spirv.Source according to the opencl.ocl.version and opencl.cxx.v…
haonanya1 Jul 11, 2024
4271e39
Document intrinsic lowering (#2543)
Jul 11, 2024
0d24bdc
Add support for llvm.tan.* (#2639)
maarquitos14 Jul 12, 2024
c68505d
Adjust OpVariable's users and Lifetime ptr operand storage classes (#…
MrSidims Jul 18, 2024
756211b
Update SPIRVRepresentationInLLVM.rst to include loop controls (#2592)
aejjehint Jul 23, 2024
ce36282
Preserve old SourceLanguageOpenCL_CPP for spirv.Source metadata. (#2653)
haonanya1 Jul 24, 2024
a1cf771
[SYCL] Add Module include after header change
sys-ce-bb Jul 26, 2024
2ac435d
[NFC] Update memcpyopt test due to new opt
jsji Jul 19, 2024
fc235e1
[SYCL][Test] Update ap_fixed test after IR change
jsji Jul 22, 2024
3049520
[SYCL][Test] Fix attr order
jsji Jul 15, 2024
6009393
[Driver] Fix offload package command line order in test
sys-ce-bb Jul 27, 2024
ccdd84a
[Driver] Allow different order of GV in clang-offload-deps.c
jsji Jul 12, 2024
2115a2d
[ClangOffloadWrapper] Disable note section verification for now
jsji Jul 16, 2024
829781c
[SYCL] Use MapVector instead of DenseMap to get deterministtic order …
jsji Jul 12, 2024
63051bb
[SYCL][Test] Update CHECK with new range attr
sys-ce-bb Jul 27, 2024
f00d6c7
[SYCL] Update offload test due to different order
sys-ce-bb Jul 27, 2024
cf4e0b4
[LLVM-SPIRV] Update test due to EntryPoint customization
sys-ce-bb Jul 27, 2024
2ee0e64
[Clang] Fix conflict resolution use return instead of break
sys-ce-bb Jul 29, 2024
7bb6544
[NVPTX] Restore old va_list builtin type (#100438)
jhuber6 Jul 24, 2024
b83aebe
Merge branch 'sycl' into llvmspirv_pulldown
sys-ce-bb Jul 29, 2024
04046b4
[ClangLinkerWrapper] Update the CUDA API
sys-ce-bb Jul 29, 2024
5c05459
[SLP][REVEC] Fix false assumption of the source for castToScalarTyEle…
HanKuanChen Jul 18, 2024
f1a3dc0
[SYCL] Temporarily XFAIL e2e test
calebwat Jul 30, 2024
594c259
Merge branch 'sycl' into llvmspirv_pulldown
jsji Aug 5, 2024
109efd6
Add module include after header refactoring
jsji Aug 5, 2024
82afd3a
Merge branch 'sycl' into llvmspirv_pulldown
jsji Aug 6, 2024
bd9e71b
Merge branch 'sycl' into llvmspirv_pulldown
jsji Aug 6, 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.
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,6 @@ b9079baaddfed5e604fbfaa1d81a7a1c38e78c26

# [libc++][NFC] Run clang-format on libcxx/include again (#95874)
e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b

# [lldb][nfc] Deindent ProcessGDBRemote::SetThreadStopInfo by two levels
b32931c5b32eb0d2cf37d688b34f8548c9674c19
23 changes: 23 additions & 0 deletions .github/new-prs-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -775,6 +775,29 @@ backend:AArch64:
- clang/include/clang/Sema/SemaARM.h
- clang/lib/Sema/SemaARM.cpp

backend:Hexagon:
- clang/include/clang/Basic/BuiltinsHexagon*.def
- clang/include/clang/Sema/SemaHexagon.h
- clang/lib/Basic/Targets/Hexagon.*
- clang/lib/CodeGen/Targets/Hexagon.cpp
- clang/lib/Driver/ToolChains/Hexagon.*
- clang/lib/Sema/SemaHexagon.cpp
- lld/ELF/Arch/Hexagon.cpp
- lldb/source/Plugins/ABI/Hexagon/**
- lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/**
- llvm/include/llvm/BinaryFormat/ELFRelocs/Hexagon.def
- llvm/include/llvm/IR/IntrinsicsHexagon*
- llvm/include/llvm/Support/Hexagon*
- llvm/lib/Support/Hexagon*
- llvm/lib/Target/Hexagon/**
- llvm/test/CodeGen/Hexagon/**
- llvm/test/CodeGen/*/Hexagon/**
- llvm/test/DebugInfo/*/Hexagon/**
- llvm/test/Transforms/*/Hexagon
- llvm/test/MC/Disassembler/Hexagon/**
- llvm/test/MC/Hexagon/**
- llvm/test/tools/llvm-objdump/ELF/Hexagon/**

backend:loongarch:
- llvm/include/llvm/IR/IntrinsicsLoongArch.td
- llvm/test/MC/LoongArch/**
Expand Down
13 changes: 11 additions & 2 deletions .github/workflows/issue-write.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
workflows:
- "Check code formatting"
- "Check for private emails used in PRs"
- "PR Request Release Note"
types:
- completed

Expand All @@ -17,7 +18,11 @@ jobs:
permissions:
pull-requests: write
if: >
github.event.workflow_run.event == 'pull_request'
github.event.workflow_run.event == 'pull_request' &&
(
github.event.workflow_run.conclusion == 'success' ||
github.event.workflow_run.conclusion == 'failure'
)
steps:
- name: 'Download artifact'
uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1
Expand Down Expand Up @@ -92,7 +97,11 @@ jobs:

var pr_number = 0;
gql_result.repository.ref.associatedPullRequests.nodes.forEach((pr) => {
if (pr.baseRepository.owner.login = context.repo.owner && pr.state == 'OPEN') {

// The largest PR number is the one we care about. The only way
// to have more than one associated pull requests is if all the
// old pull requests are in the closed state.
if (pr.baseRepository.owner.login = context.repo.owner && pr.number > pr_number) {
pr_number = pr.number;
}
});
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/libcxx-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ jobs:
cxx: [ 'clang++-19' ]
include:
- config: 'generic-gcc'
cc: 'gcc-13'
cxx: 'g++-13'
cc: 'gcc-14'
cxx: 'g++-14'
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.config }}.${{ matrix.cxx }}
Expand Down Expand Up @@ -101,8 +101,8 @@ jobs:
cxx: [ 'clang++-19' ]
include:
- config: 'generic-gcc-cxx11'
cc: 'gcc-13'
cxx: 'g++-13'
cc: 'gcc-14'
cxx: 'g++-14'
- config: 'generic-cxx23'
cc: 'clang-17'
cxx: 'clang++-17'
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/pr-request-release-note.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ name: PR Request Release Note

permissions:
contents: read
pull-requests: write

on:
pull_request:
Expand Down Expand Up @@ -41,3 +40,10 @@ jobs:
--token "$GITHUB_TOKEN" \
request-release-note \
--pr-number ${{ github.event.pull_request.number}}

- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0
if: always()
with:
name: workflow-args
path: |
comments
16 changes: 15 additions & 1 deletion bolt/docs/CommandLineArgumentReference.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,10 @@

Always use long jumps/nops for Linux kernel static keys

- `--match-profile-with-function-hash`

Match profile with function hash

- `--max-data-relocations=<uint>`

Maximum number of data relocations to process
Expand All @@ -279,6 +283,12 @@

List of functions to pad with amount of bytes

- `--print-mappings`

Print mappings in the legend, between characters/blocks and text sections
(default false).


- `--profile-format=<value>`

Format to dump profile output in aggregation mode, default is fdata
Expand Down Expand Up @@ -684,6 +694,10 @@

Use a modified clustering algorithm geared towards minimizing branches

- `--name-similarity-function-matching-threshold=<uint>`

Match functions using namespace and edit distance.

- `--no-inline`

Disable all inlining (overrides other inlining options)
Expand Down Expand Up @@ -1232,4 +1246,4 @@

- `--print-options`

Print non-default options after command line parsing
Print non-default options after command line parsing
Binary file added bolt/docs/HeatmapHeader.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 56 additions & 12 deletions bolt/docs/Heatmaps.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Code Heatmaps

BOLT has gained the ability to print code heatmaps based on
sampling-based LBR profiles generated by `perf`. The output is produced
in colored ASCII to be displayed in a color-capable terminal. It looks
something like this:
sampling-based profiles generated by `perf`, either with `LBR` data or not.
The output is produced in colored ASCII to be displayed in a color-capable
terminal. It looks something like this:

![](./Heatmap.png)

Expand Down Expand Up @@ -32,20 +32,64 @@ $ llvm-bolt-heatmap -p perf.data <executable>
```

By default the heatmap will be dumped to *stdout*. You can change it
with `-o <heatmapfile>` option. Each character/block in the heatmap
shows the execution data accumulated for corresponding 64 bytes of
code. You can change this granularity with a `-block-size` option.
E.g. set it to 4096 to see code usage grouped by 4K pages.
Other useful options are:
with `-o <heatmapfile>` option.

```bash
-line-size=<uint> - number of entries per line (default 256)
-max-address=<uint> - maximum address considered valid for heatmap (default 4GB)
```

If you prefer to look at the data in a browser (or would like to share
it that way), then you can use an HTML conversion tool. E.g.:

```bash
$ aha -b -f <heatmapfile> > <heatmapfile>.html
```

---

## Background on heatmaps:
A heatmap is effectively a histogram that is rendered into a grid for better
visualization.
In theory we can generate a heatmap using any binary and a perf profile.

Each block/character in the heatmap shows the execution data accumulated for
corresponding 64 bytes of code. You can change this granularity with a
`-block-size` option.
E.g. set it to 4096 to see code usage grouped by 4K pages.


When a block is shown as a dot, it means that no samples were found for that
address.
When it is shown as a letter, it indicates a captured sample on a particular
text section of the binary.
To show a mapping between letters and text sections in the legend, use
`-print-mappings`.
When a sampled address does not belong to any of the text sections, the
characters 'o' or 'O' will be shown.

The legend shows by default the ranges in the heatmap according to the number
of samples per block.
A color is assigned per range, except the first two ranges that distinguished by
lower and upper case letters.

On the Y axis, each row/line starts with an actual address of the binary.
Consecutive lines in the heatmap advance by the same amount, with the binary
size covered by a line dependent on the block size and the line size.
An empty new line is inserted for larger gaps between samples.

On the X axis, the horizontally emitted hex numbers can help *estimate* where
in the line the samples lie, but they cannot be combined to provide a full
address, as they are relative to both the bucket and line sizes.

In the example below, the highlighted `0x100` column is not an offset to each
row's address, but instead, it points to the middle of the line.
For the generation, the default bucket size was used with a line size of 128.


![](./HeatmapHeader.png)


Some useful options are:

```
-line-size=<uint> - number of entries per line (default 256)
-max-address=<uint> - maximum address considered valid for heatmap (default 4GB)
-print-mappings - print mappings in the legend, between characters/blocks and text sections (default false)
```
5 changes: 5 additions & 0 deletions bolt/docs/OptimizingLinux.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ $ perf2bolt -p perf.data -o perf.fdata vmlinux

Under a high load, `perf.data` should be several gigabytes in size and you should expect the converted `perf.fdata` not to exceed 100 MB.

Profiles collected from multiple workloads could be joined into a single profile using `merge-fdata` utility:
```bash
$ merge-fdata perf.1.fdata perf.2.fdata ... perf.<N>.fdata > perf.merged.fdata
```

Two changes are required for the kernel build. The first one is optional but highly recommended. It introduces a BOLT-reserved space into `vmlinux` code section:


Expand Down
9 changes: 0 additions & 9 deletions bolt/include/bolt/Core/BinaryBasicBlock.h
Original file line number Diff line number Diff line change
Expand Up @@ -842,15 +842,6 @@ class BinaryBasicBlock {
bool analyzeBranch(const MCSymbol *&TBB, const MCSymbol *&FBB,
MCInst *&CondBranch, MCInst *&UncondBranch);

/// Return true if iterator \p I is pointing to the first instruction in
/// a pair that could be macro-fused.
bool isMacroOpFusionPair(const_iterator I) const;

/// If the basic block has a pair of instructions suitable for macro-fusion,
/// return iterator to the first instruction of the pair.
/// Otherwise return end().
const_iterator getMacroOpFusionPair() const;

/// Printer required for printing dominator trees.
void printAsOperand(raw_ostream &OS, bool PrintType = true) {
if (PrintType)
Expand Down
4 changes: 0 additions & 4 deletions bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -698,10 +698,6 @@ class BinaryContext {

/// Binary-wide aggregated stats.
struct BinaryStats {
/// Stats for macro-fusion.
uint64_t MissedMacroFusionPairs{0};
uint64_t MissedMacroFusionExecCount{0};

/// Stats for stale profile matching:
/// the total number of basic blocks in the profile
uint32_t NumStaleBlocks{0};
Expand Down
8 changes: 4 additions & 4 deletions bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -835,10 +835,6 @@ class BinaryFunction {
/// them.
void calculateLoopInfo();

/// Calculate missed macro-fusion opportunities and update BinaryContext
/// stats.
void calculateMacroOpFusionStats();

/// Returns if BinaryDominatorTree has been constructed for this function.
bool hasDomTree() const { return BDT != nullptr; }

Expand Down Expand Up @@ -930,6 +926,10 @@ class BinaryFunction {
return const_cast<BinaryFunction *>(this)->getInstructionAtOffset(Offset);
}

/// When the function is in disassembled state, return an instruction that
/// contains the \p Offset.
MCInst *getInstructionContainingOffset(uint64_t Offset);

std::optional<MCInst> disassembleInstructionAtOffset(uint64_t Offset) const;

/// Return offset for the first instruction. If there is data at the
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//===- bolt/Passes/CallGraph.h ----------------------------------*- C++ -*-===//
//===- bolt/Core/CallGraph.h ----------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
Expand All @@ -9,7 +9,7 @@
#ifndef BOLT_PASSES_BINARY_FUNCTION_CALLGRAPH_H
#define BOLT_PASSES_BINARY_FUNCTION_CALLGRAPH_H

#include "bolt/Passes/CallGraph.h"
#include "bolt/Core/CallGraph.h"
#include <deque>
#include <functional>
#include <unordered_map>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//===- bolt/Passes/CallGraph.h ----------------------------------*- C++ -*-===//
//===- bolt/Core/CallGraph.h ----------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//===- bolt/Passes/CallGraphWalker.h ----------------------------*- C++ -*-===//
//===- bolt/Core/CallGraphWalker.h ----------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
Expand Down
12 changes: 2 additions & 10 deletions bolt/include/bolt/Core/DIEBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,13 +135,6 @@ class DIEBuilder {

/// Returns current state of the DIEBuilder
State &getState() { return *BuilderState.get(); }
/// Resolve the reference in DIE, if target is not loaded into IR,
/// pre-allocate it. \p RefCU will be updated to the Unit specific by \p
/// RefValue.
DWARFDie resolveDIEReference(
const DWARFFormValue &RefValue,
const DWARFAbbreviationDeclaration::AttributeSpec AttrSpec,
DWARFUnit *&RefCU, DWARFDebugInfoEntry &DwarfDebugInfoEntry);

/// Resolve the reference in DIE, if target is not loaded into IR,
/// pre-allocate it. \p RefCU will be updated to the Unit specific by \p
Expand All @@ -165,10 +158,9 @@ class DIEBuilder {
const DWARFFormValue &Val);

/// Clone an attribute in reference format.
void cloneDieReferenceAttribute(
void cloneDieOffsetReferenceAttribute(
DIE &Die, const DWARFUnit &U, const DWARFDie &InputDIE,
const DWARFAbbreviationDeclaration::AttributeSpec AttrSpec,
const DWARFFormValue &Val);
const DWARFAbbreviationDeclaration::AttributeSpec AttrSpec, uint64_t Ref);

/// Clone an attribute in block format.
void cloneBlockAttribute(
Expand Down
Loading
Loading