Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW48) #12046

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 770 commits into from
Dec 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
770 commits
Select commit Hold shift + click to select a range
a3ae7b6
[RISCV] Minor style cleanup to cf17a24 [nfc]
preames Nov 28, 2023
0424546
[analyzer] Use AllocaRegion in MallocChecker (#72402)
NagyDonat Nov 28, 2023
b6eb740
[SLP][NFC]Improve/fix auto declarations, NFC.
alexey-bataev Nov 28, 2023
f3a9dbe
[RISCV] Split build_vector into vreg sized pieces when exact VLEN is …
preames Nov 28, 2023
7f3ee3c
[clang][DebugInfo] Revert to attaching DW_AT_const_value on static me…
Michael137 Nov 28, 2023
2bdf623
[JITLink][AArch32] Split out error test for invalid edge in applyFixup()
weliveindetail Nov 25, 2023
b3bc8d7
[AArch64] Assembly support for Armv9.5-A Debug/PMU Extensions (#73537)
pratlucas Nov 28, 2023
3e5acc7
[RISCV] Precommit test coverage for insert_vector_elt with exact VLEN
preames Nov 28, 2023
f4c5c47
[flang][openacc] Enforce no branching out of compute region for combi…
clementval Nov 28, 2023
202dda8
[BOLT][utils] Bump default time threshold to 1s in nfc-stat-parser
aaupov Nov 28, 2023
a1b3b78
[AMDGPU] Clarify description of _HI relocation types (#73663)
jayfoad Nov 28, 2023
87d884b
[AMDGPU] Fix folding of v2i16/v2f16 splat imms (#72709)
rampitec Nov 28, 2023
c728842
[SLP][NFC]Fix naming of variables/functions, NFC.
alexey-bataev Nov 28, 2023
21361bb
[clang] Remove unused argument. NFC. (#73594)
ributzka Nov 28, 2023
4667dd6
[OpenMP][NFC] Merge elf_common into PluginInterface (#73677)
jdoerfert Nov 28, 2023
b9a6376
Merge from 'main' to 'sycl-web' (402 commits)
fineg74 Nov 28, 2023
50b9930
[asan] Fix Windows i386 regression (#73650)
farzonl Nov 28, 2023
6c62f7c
[MsgPack] Handle Expected<T> errors in document reader (#73183)
epilk Nov 28, 2023
43f783f
[libc][docs] Update implementation docs (#73590)
michaelrj-google Nov 28, 2023
0783bf1
[OpenMP][NFC] Merge MemoryManager into PluginInterface (#73678)
jdoerfert Nov 28, 2023
efac016
[NFC][libc++] Refactors the time.cal tests. (#73356)
mordante Nov 28, 2023
badec9b
[SLP][NFC]Fix loops variables names, NFC.
alexey-bataev Nov 28, 2023
98e674c
[clang] Non-object types are non-trivially relocatable (#69734)
AMP999 Nov 28, 2023
c846f8b
[lldb][progress] Always report progress upon Progress object destruct…
chelcassanova Nov 28, 2023
02cbae4
[RISCV] Work on subreg for insert_vector_elt when vlen is known (#726…
preames Nov 28, 2023
a8ac930
[Flang] Add code-object-version option (#72638)
DominikAdamski Nov 28, 2023
19fa276
[NFC][docs] Add AMDGPU documentation for `LIBOMPTARGET_STACK_SIZE`
mhalk Nov 28, 2023
f00ffcd
Revert "[Flang] Add code-object-version option (#72638)"
DominikAdamski Nov 28, 2023
447da95
[SLP][NFC]Use DenseSet instead of SetVector, NFC.
alexey-bataev Nov 28, 2023
e88a1ce
[ASan] Allow for passing AddressSanitizer command line options throug…
usama54321 Nov 28, 2023
3a6f02a
[mlir] Add subbyte emulation support for `memref.store`. (#73174)
Max191 Nov 28, 2023
17feb33
[flang][Driver] Let the linker fail on multiple definitions of main()…
mjklemm Nov 28, 2023
6989859
[llvm][HWASan] Replace calls to Type::getPointerTo (NFC)
JOE1994 Nov 28, 2023
38e4358
[X86] With large code model, put functions into .ltext with large sec…
aeubanks Nov 28, 2023
e1f59ad
Mark some std::string functions noinline. (#72869)
jyknight Nov 28, 2023
ed27a4e
[libc++][PSTL] Implement std::equal (#72448)
philnik777 Nov 28, 2023
d462621
[HLSL] Parameter modifier parsing and AST (#72139)
llvm-beanz Nov 28, 2023
ec76d39
[gn build] Port ed27a4edb038
llvmgnsyncbot Nov 28, 2023
4d5079c
[libcxxabi][ItaniumDemangle] Demangle explicitly named object paramet…
Michael137 Nov 28, 2023
ce73177
Fix clang Attribute doc build
llvm-beanz Nov 28, 2023
8327f4a
[OpenMP][NFC] Move Utils.h and Debug.h into a "Shared" include folder…
jdoerfert Nov 28, 2023
3661eb1
Add support for parsing type unit entries in .debug_names. (#72952)
clayborg Nov 28, 2023
d8d9394
Revert "[X86] With large code model, put functions into .ltext with l…
aeubanks Nov 28, 2023
1a041a3
[compiler-rt][sanitizer_common] Increase min user-map/freearray round…
PiJoules Nov 28, 2023
7233e42
[OpenMP][NFC] Move Environment.h and SourceInfo.h into "Shared" folde…
jdoerfert Nov 28, 2023
86b0cca
[libc][NFC] unify nextafter and nexttoward code (#73698)
michaelrj-google Nov 28, 2023
ab56268
[libc++][test] Change forbidden `extents<char>` to `extents<signed ch…
StephanTLavavej Nov 28, 2023
eaab947
[OpenMP] Use simple VLA implementation to replace uses of actual VLA …
shiltian Nov 28, 2023
4701f77
[CMake] Always define runtimes-test-depends (#73629)
petrhosek Nov 28, 2023
e7f5d60
Revert "[OpenMP] Use simple VLA implementation to replace uses of act…
shiltian Nov 28, 2023
d105701
[OpenMP][NFC] Create an "OpenMP" folder in the include folder (#73713)
jdoerfert Nov 28, 2023
ac8c9f1
[libc++] Properly guard std::filesystem with >= C++17 (#72701)
ldionne Nov 28, 2023
b47b3be
[BOLT][DWARF] Fix handling of DWARF5 DWP (#72729)
ayermolo Nov 28, 2023
d46f635
[OpenMP] Use simple VLA implementation to replace uses of actual VLA
shiltian Nov 28, 2023
351c3ee
Revert "[OpenMP] Use simple VLA implementation to replace uses of act…
shiltian Nov 28, 2023
4528808
[mlir][sparse] move toCOOType into SparseTensorType class (#73708)
aartbik Nov 29, 2023
97e16da
[OpenMP] Use simple VLA implementation to replace uses of actual VLA
shiltian Nov 29, 2023
57a0416
[clang][CodeGen] Handle template parameter objects with explicit addr…
AlexVlx Nov 29, 2023
d6783c7
Revert "[libc][bazel] Add copts to libc_support_library" (#73723)
michaelrj-google Nov 29, 2023
615f770
Merge from 'sycl' to 'sycl-web'
Nov 29, 2023
110f927
[mlir][sparse] refactor sparse tensor traits (#73726)
aartbik Nov 29, 2023
4eb4211
[lldb][test] TestConstStaticIntegralMember: relax assertion on number…
Michael137 Nov 29, 2023
00dbea7
[BOLT][DWARF][NFC] Added const to variable (#73731)
ayermolo Nov 29, 2023
1debbae
[CodeGen] Port CallBrPrepare to new pass manager (#73630)
paperchalice Nov 29, 2023
3287ae8
[clang][ASTImporter] IdentifierInfo of Attribute should be set using …
jcsxky Nov 29, 2023
5231605
[mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)
edg-l Nov 29, 2023
5d57041
[OpenMP][NFC] Move debug declares into CMAKE out of "private.h" (#73732)
jdoerfert Nov 29, 2023
83305fa
[lld][WebAssembly] Fix bitcode LTO order in archive parsing (#73095)
aheejin Nov 29, 2023
98f8b1a
[mlir][sparse] remove COO test from trait and encoding (#73733)
aartbik Nov 29, 2023
1722084
Merge from 'main' to 'sycl-web' (82 commits)
mdfazlay Nov 29, 2023
f7247d5
[InstCombine] Canonicalise SextADD + GEP (#69581)
LiqinWeng Nov 29, 2023
81e3e7e
[libc] [search] implement hcreate(_r)/hsearch(_r)/hdestroy(_r) (#73469)
SchrodingerZhu Nov 29, 2023
5933589
[GISel][Docs] Add a little bit of documentation for G_FENCE. (#73722)
topperc Nov 29, 2023
4a294b5
[Clang] CGCoroutines skip emitting try block for value returning `noe…
yuxuanchen1997 Nov 29, 2023
ae86239
[MemProf] Add interface for reseting the profile file descriptor (#73…
teresajohnson Nov 29, 2023
e399a31
[libc] fix build on aarch64 (#73739)
SchrodingerZhu Nov 29, 2023
649e811
[C++20] [Modules] Handling capturing strucuted bindings
ChuanqiXu9 Nov 29, 2023
4b8964d
Fix bazel build (#73741)
frgossen Nov 29, 2023
f73844d
[RISCV] Generate bexti for (select(setcc eq (and x, c))) where c is p…
yetingk Nov 29, 2023
c6d6a57
[clang][docs] Fix emphasis syntax in attribute documentation (#73737)
DanShaders Nov 29, 2023
c1511a6
[AMDGPU] Folding imm offset in more cases for scratch access (#70634)
ruiling Nov 29, 2023
1886b1a
[libc] add PREFER_GENERIC flag (#73744)
SchrodingerZhu Nov 29, 2023
9c5003c
[RISCV] Implement RISCVInstrInfo::getMemOperandsWithOffsetWidth (#73681)
asb Nov 29, 2023
4e49358
Revert "[mlir] Re-Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)"…
vitalybuka Nov 29, 2023
c954414
[msan][aarch64] Fix mallinfo interceptor (#73728)
vitalybuka Nov 29, 2023
f35c0f2
[RISCV] Refine pattern (select_cc seteq (and x, C), 0, 0, A) with Zbs…
yetingk Nov 29, 2023
2e838c8
[runtimes] Pass-through CLANG_RESOURCE_DIR to cmake invocations (#73185)
tstellar Nov 29, 2023
3d7e6db
[lldb][test] Remove `reason` from `unittest2.expectedFailure` usage (…
rupprecht Nov 29, 2023
9535e01
[AMDGPU] Fix -Wc++98-compat-extra-semi after c1511a65d5c09f7cff15feba…
MaskRay Nov 29, 2023
35db35b
[RISCV][GISel] Support G_FCOPYSIGN with F and D extension.
topperc Nov 29, 2023
0acfe84
[BOLT][DWARF] Fix output ranges for deleted code (#73464)
maksfb Nov 29, 2023
d0c8d41
[TableGen][NFC] Format getOpcodeString and remove unreachable breaks
wangpc-pp Nov 29, 2023
5e7e0d6
[LoongArch] Fix pattern for FNMSUB_{S/D} instructions (#73742)
wangleiat Nov 29, 2023
d345cfb
[RISCV][GISel] Support s64 G_SELECT on RV32 with D extension.
topperc Nov 29, 2023
b6ee831
[AArch64] Load/store optimizer fixes and cleanup.
davemgreen Nov 29, 2023
6a4489a
[GitHub] Use proper Markdown syntax and avoid child list items (#73700)
SimplyDanny Nov 29, 2023
403ab9a
[NFC] Update X86 frem CodeGen case
ecnelises Nov 29, 2023
ebeae22
Revert "Fix bazel build (#73741)"
akuegel Nov 29, 2023
95943d2
[Flang] Add code-object-version option (#72638)
DominikAdamski Nov 28, 2023
dad73bc
AArch64: switch Apple CPUs (that support it) to v8.6a. (#73497)
TNorthover Nov 29, 2023
c145e4c
[Pass][NFC] Sort and format passes in PassRegistery.def (#73762)
paperchalice Nov 29, 2023
91e1b4a
[flang] add fir.box_offset operation (#73641)
jeanPerier Nov 29, 2023
e2a37e5
[libc][NFC] Fix missing LIBC_INLINE + style (#73659)
gchatelet Nov 29, 2023
9eb80ab
[llvm-exegesis] Set stack pointer register after starting perf counte…
boomanaiden154 Nov 29, 2023
6e01016
[OpenMP] Support for `nothing` in `metadirective` (#73690)
sandeepkosuri Nov 29, 2023
6cf3566
[NFC][MachineScheduler] Rename NumLoads parameter of shouldClusterMem…
asb Nov 29, 2023
10d6d5f
AArch64: add support for currently released Apple CPUs. (#73499)
TNorthover Nov 29, 2023
4b3ea33
[ValueTracking] Convert isKnownNonNegative() to use SimplifyQuery (NFC)
nikic Nov 29, 2023
85c9c16
[RISCV] Support load clustering in the MachineScheduler (off by defau…
asb Nov 29, 2023
52b4b35
Revert "[llvm-exegesis] Set stack pointer register after starting per…
boomanaiden154 Nov 29, 2023
d6e8f3b
[ValueTracking] Convert isKnownPositive() to use SimplifyQuery (NFC)
nikic Nov 29, 2023
42b6c8e
[ValueTracking] Convert isKnownNegative() to use SimplifyQuery (NFC)
nikic Nov 29, 2023
d9e8ae7
[ValueTracking] Convert MaskedValueIsZero() to use SimplifyQuery (NFC)
nikic Nov 29, 2023
5112186
[InstCombine] Regenerate test checks (NFC)
nikic Nov 29, 2023
621183c
[X86] Add test case showing failure to remove unnecessary zext from a…
RKSimon Nov 29, 2023
0fac9da
[DAG] getNode() - relax (zext (trunc x)) -> x fold iff the upper bits…
RKSimon Nov 29, 2023
1bfb84b
[NFC][TLI] Improve tests for ArmPL and SLEEF Intrinsics. (#73352)
paschalis-mpeis Nov 29, 2023
47df664
[clang][analyzer] Support `fgets` in the SteamChecker (#73638)
benshi001 Nov 29, 2023
241076f
[SelectionDAG] Fix assertion for widening of mask operand in MSTORE. …
fpetrogalli Nov 29, 2023
af65379
[flang] Fix test ctofortran (#73738)
psteinfeld Nov 29, 2023
437a48b
[flang] Handle absent optional in LOC (#73530)
jeanPerier Nov 29, 2023
4a39b68
Merge from 'sycl' to 'sycl-web'
Nov 29, 2023
15798f4
Move documentation about -verify from a header to public docs (#73694)
AaronBallman Nov 29, 2023
d2d9dc8
[DebugInfo][RemoveDIs] Make debugify pass convert to/from RemoveDIs m…
jmorse Nov 29, 2023
3930a0b
[OpenMP][libomptarget] Use two SDMA engines (#73633)
jplehr Nov 29, 2023
d4d88b8
[OpenMP] New Openmp device RTL functions (#73225)
DominikAdamski Nov 29, 2023
23b82bf
[X86] Add getTargetConstantPoolFromBasePtr helper. NFC.
RKSimon Nov 29, 2023
9619a24
[MLIR][Vector] Refactor tests for contract -> OP transforms (3/N)…
banach-space Nov 29, 2023
0d3c40b
[libc++] Remove unused Python imports (#73724)
StephanTLavavej Nov 29, 2023
68433f6
[mlir][nvvm] Introduce `setmaxregister.sync.aligned` Op (#73780)
grypp Nov 29, 2023
fa712b0
[libc++] Build the dylib with sanitizers when requested (#73656)
ldionne Nov 29, 2023
1a5af34
[libc++] Speed up classic locale (take 2) (#73533)
ldionne Nov 29, 2023
3c00c8c
[AArch64][SME2] Enable CLAMP multi-vector builtins for SME2 (#72272)
Nov 29, 2023
9b19259
[gn build] Port 1a5af34e6fcb
llvmgnsyncbot Nov 29, 2023
738c3ed
[RISCV] Pre-commit test for FrameIndex handling in getMemOperandsWith…
asb Nov 29, 2023
53f3e59
[X86] Rename vec_fneg.ll to combine-fneg.ll
RKSimon Nov 29, 2023
244389a
[X86] Add fneg vector test coverage
RKSimon Nov 29, 2023
0468867
[libc] Fix the GPU build for the hashing support (#73799)
jhuber6 Nov 29, 2023
3af82b3
[clang-format] Add spaces around the Verilog implication operator (#7…
sstwcw Nov 29, 2023
9fa2d74
[clang-format] Indent Verilog case statements with comments (#71353)
sstwcw Nov 29, 2023
2212e90
[ELF,LTO] Test calloc defined in a lazy bitcode file for (malloc+mems…
MaskRay Nov 29, 2023
7eb3103
[libc] Fix cast semantic in integer_to_string (#73804)
gchatelet Nov 29, 2023
8aeaceb
[libc++] Add initial support for picolibc
mplatings Nov 29, 2023
fad77dc
[C API] Add support for setting/getting new nneg flag on zext instruc…
Benjins Nov 29, 2023
dc16964
[workflows] Remove sync-release-repo.yml (#73682)
tstellar Nov 29, 2023
2cfe7b1
[OpenMP][NFC] Extract timescope profile support into its own header (…
jdoerfert Nov 29, 2023
672b3d0
[LICM] Add test for #64897 (NFC)
nikic Nov 29, 2023
db96a9c
[OpenMP][NFC] Flatten plugin-nextgen/common folder sturcture (#73725)
jdoerfert Nov 29, 2023
953d675
Fix accsessing "PresentModifierLocs" array beyond its end. (#73579)
jyu2-git Nov 29, 2023
0ccef6a
[flang] Make adapt.valuebyref attribute work again (#73658)
Leporacanthicus Nov 29, 2023
b053359
[X86InstrInfo] support memfold on spillable inline asm (#70832)
nickdesaulniers Nov 29, 2023
3bf72bf
[DebugInfo][RemoveDIs] Extract DPValues in CodeExtractor like dbg.val…
jmorse Nov 29, 2023
859338a
[llvm] Replace uses of Type::getPointerTo (NFC)
JOE1994 Nov 29, 2023
e2299e8
[OpenMP][NFC] Move OMPT headers into OpenMP/OMPT (#73718)
jdoerfert Nov 29, 2023
fd2d0bf
[OpenMP][NFC] Replace unnecessary typedefs (#73815)
jdoerfert Nov 29, 2023
bdecfeb
[OpenMP][NFC] Rename OmptCallback.cpp into OpenMP/OMPT/Callback.cpp (…
jdoerfert Nov 29, 2023
16b8c96
[libc++][format] Fixes formatting code units as integers. (#73396)
mordante Nov 29, 2023
740f14e
[flang] fix codegen warning from #73641 (#73808)
jeanPerier Nov 29, 2023
aeb051a
Correct the documentation category for the 'cleanup' attribute
AaronBallman Nov 29, 2023
5ce5ea3
Revert "[flang] Enable alias tags pass by default (#73111)" (#73821)
tblah Nov 29, 2023
b465f94
[OpenMP][NFC] Put ExponentialBackoff in a Utils header (#73816)
jdoerfert Nov 29, 2023
2273ee0
Remove an outdated comment; NFC
AaronBallman Nov 29, 2023
04b1853
[flang] Cleanup of NYI messages (#73740)
psteinfeld Nov 29, 2023
8391bb3
[OpenMP][NFC] Move more declarations out of private.h (#73823)
jdoerfert Nov 29, 2023
2630d72
[HLSL] Support vector swizzles on scalars (#67700)
llvm-beanz Nov 29, 2023
2c27a22
Merge from 'main' to 'sycl-web' (62 commits)
fineg74 Nov 29, 2023
f688e09
Enable custom lowering of fabs_v16f16 with AVX and fabs_v32f16 with A…
david-xl Nov 29, 2023
ff96567
[NFC] Fix failing test introduced in #67700
llvm-beanz Nov 29, 2023
40422bf
[OpenMP][NFC] Separate OpenMP/OpenACC specific mapping code (#73817)
jdoerfert Nov 29, 2023
749d595
[MemProf][NFC] Correct comment about stripping of suffixes in profile…
teresajohnson Nov 29, 2023
5259e14
[mlir][spirv] Add folding for [S|U]Mod, [S|U]Div, SRem (#73341)
inbelic Nov 29, 2023
2f1399c
clang/APINotes: fix parenthesization of &&, ||
artagnon Nov 29, 2023
7fb89bf
Reapply "[mlir] Add mlirTranslateModuleToLLVMIR to MLIR-C (#73627)" (…
vitalybuka Nov 29, 2023
6a63495
[msan] Intercept mallinfo2 (#73729)
vitalybuka Nov 29, 2023
8f564a1
[RISCV] Remove reference to non-existant __builtin_riscv_sha512sum0l/…
topperc Nov 29, 2023
ce00133
Allow lldb to load .dwp files with large .debug_info or .debug_types.…
clayborg Nov 29, 2023
14028ec
[mlir][spirv] Add canon patterns for IAddCarry/[S|U]MulExtended (#73340)
inbelic Nov 29, 2023
9e7b6f4
[mlir] Adopt `ConvertToLLVMPatternInterface` GpuToLLVMConversionPass …
joker-eph Nov 29, 2023
002c54a
[flang][openacc] Representing Fortran descriptor management with Open…
vzakhari Nov 29, 2023
e947f95
[LSR][TTI][RISCV] Enable terminator folding for RISC-V
preames Nov 29, 2023
771e9cd
[msan] Intercept mallinfo2 only on GLIBC 2.33+
vitalybuka Nov 29, 2023
792253a
[llvm][docs] Add example use of `llvm-reduce`. (#73237)
fpetrogalli Nov 29, 2023
545c8e0
[LEB128] Don't initialize error on success
adrian-prantl Nov 27, 2023
b96121c
[LEB128] Factor out redundant code
adrian-prantl Nov 27, 2023
0cc2acc
[LEB128] Don't handle edge cases in every loop iteration
adrian-prantl Nov 27, 2023
80fc872
[LEB128] Mark error condition with LLVM_UNLIKELY
adrian-prantl Nov 27, 2023
9415fca
[mlir] Fix build with shared libs (missing cmake link dependency) (NFC)
joker-eph Nov 29, 2023
f32509b
[JITLink][AArch32] Test out-of-range and interworking errors for Thu…
weliveindetail Nov 29, 2023
1cbd52f
[Clang] Implement P2864R2 Remove Deprecated Arithmetic Conversion on …
cor3ntin Nov 29, 2023
b2f42f5
[LV] Add test variant without sdiv by undef and uses.
fhahn Nov 29, 2023
3313c25
[RISCV] Fix a couple copy/paste mistakes in riscv_crypto.h. NFC
topperc Nov 29, 2023
77e5c5d
Revert "[LEB128] Mark error condition with LLVM_UNLIKELY"
adrian-prantl Nov 29, 2023
275bec4
Revert "[LEB128] Don't handle edge cases in every loop iteration"
adrian-prantl Nov 29, 2023
fc05a82
Revert "[LEB128] Factor out redundant code"
adrian-prantl Nov 29, 2023
69b0cb9
Revert "[LEB128] Don't initialize error on success"
adrian-prantl Nov 29, 2023
076bd22
[BOLT] Add structure of CDSplit to SplitFunctions (#73430)
ShatianWang Nov 29, 2023
2c07181
[LEB128] Don't initialize error on success
adrian-prantl Nov 27, 2023
643f25f
[LEB128] Factor out redundant code
adrian-prantl Nov 27, 2023
963b186
[LEB128] Don't handle edge cases in every loop iteration
adrian-prantl Nov 27, 2023
efa1d0d
[LEB128] Mark error condition with LLVM_UNLIKELY
adrian-prantl Nov 27, 2023
4c17452
[clang-format][NFC] Extend isProto() to also cover LK_TextProto (#73582)
owenca Nov 29, 2023
bbae59a
[clang-format] Finalize children after formatting them (#73753)
owenca Nov 29, 2023
0123608
[RISCV] Minor improvements/cleanup to target attribute handling. NFC …
topperc Nov 29, 2023
44c5593
Fix stale comment (#73846)
david-xl Nov 29, 2023
328fd36
[clang][CGStmtOpenMP] Remove unneeded calls to CreatePointerBitCastOr…
JOE1994 Nov 29, 2023
73f8aa0
[libc][NFC] Fix missing dep in bazel (#73854)
michaelrj-google Nov 29, 2023
ae4d7ac
[flang][driver][nfc] Move the definition of SemanticsContext (#73669)
banach-space Nov 29, 2023
4b2ba5a
[mlir][sve] Add an e2e for linalg.matmul with mixed types (#73773)
banach-space Nov 29, 2023
f150ecc
[workflows] Add top-level permissions for libcxx-build-and-test.yaml …
tstellar Nov 29, 2023
68106bd
[Sample Profile Loader] Fix potential invalidated reference (#73181)
huangjd Nov 29, 2023
b92bf0d
[RISCV] Disable clang-format around the RISCVISD opcode enum. NFC
topperc Nov 29, 2023
be811d1
[libc++] Run picolibc tests with qemu
mplatings Nov 29, 2023
9ac64ab
[libc++] Remove linux Buildkite builders entirely (#73825)
EricWF Nov 29, 2023
0737be3
Add a scheduled build for libc++ (#73848)
EricWF Nov 29, 2023
fae233c
[OpenMP] Avoid initializing the KernelLaunchEnvironment if possible (…
jdoerfert Nov 29, 2023
fc19424
[clang-tidy][NFC] Fix bugprone-suspicious-enum-usage tests
PiotrZSL Nov 29, 2023
61aef97
Compile MSAN/TSAN failing test with -O1 (#73555)
EricWF Nov 29, 2023
efc60dc
[libc++] Reenable codecvt in the dylib. (#73679)
mordante Nov 29, 2023
c6d7072
[clang][CodeGen] Emit annotations for function declarations. (#66716)
brendandahl Nov 29, 2023
bf2e05c
[clang][NFC] Fill in historical data on when C++ DR 1-99 were fixed
Endilll Nov 29, 2023
a87ca1b
[flang][openacc] Do not check for unlabelled CYCLE branching (#73839)
clementval Nov 29, 2023
a0bd636
[lld][WebAssembly] Convert bitcode test to assembly. NFC (#73716)
sbc100 Nov 29, 2023
2e7f47d
[OpenMP][NFC] Move out plugin API and APITypes into standalone header…
jdoerfert Nov 30, 2023
7946c39
Update version of vc-intrinsic (#12036)
fineg74 Nov 30, 2023
e3021bd
[RISCV] Add RISCVISD::SLLW to computeKnownBitsForTargetNode.
topperc Nov 30, 2023
4bcbbe1
[BOLT] Refactor fixBranches() (#73752)
maksfb Nov 30, 2023
453bd04
Fix bazel build (#73880)
frgossen Nov 30, 2023
2323b54
[clang][NFC] Bring back missing lines from DR52 test
Endilll Nov 30, 2023
8a4b903
[CodeGen] Add conditional to module cloning in bitcode linking (#72478)
lamb-j Nov 30, 2023
8b9a6af
[OpenMP] Add an 'stddef.h' include to 'omp.h' (#73876)
jhuber6 Nov 30, 2023
5ac8727
[NFC]Remove unused variables (#12033)
XinWang10 Nov 30, 2023
c57ef2c
[llvm][OpenMPOpt] Remove no-op ptr-to-ptr bitcast (NFC) (#73869)
JOE1994 Nov 30, 2023
e88a2f1
[libunwind][WebAssembly] Omit unused parts of libunwind.cpp for Wasm …
aheejin Nov 30, 2023
246b8ea
[AMDGPU] Preserve existing alias info on LDS DMA intrinsics in MIR (#…
rampitec Nov 30, 2023
3cf1909
[clang-offload-bundler] Add support for -check-input-archive (#73709)
lamb-j Nov 30, 2023
642a419
Merge from 'sycl' to 'sycl-web'
Nov 30, 2023
4908531
Merge from 'main' to 'sycl-web' (125 commits)
XinWang10 Nov 30, 2023
4aad2ee
Merge from 'sycl' to 'sycl-web' (1 commits)
Nov 30, 2023
54df1f0
Merge remote-tracking branch 'origin/sycl-web' into llvmspirv_pulldown
sys-ce-bb Nov 30, 2023
e3b59a7
Merge from 'main' to 'sycl-web' (5 commits)
fineg74 Nov 30, 2023
20388a8
Update decorations for global variables (#2174)
vmaksimo Oct 16, 2023
5fd4877
Support both legacy and Khronos version of global variable extensions…
vmaksimo Nov 24, 2023
4b4b6d6
Fix translation for static TypeMember for dwarf5 (#2231)
vmaksimo Nov 24, 2023
421f95c
Fix cooperative matrix prefetch test (scope parameter) (#2234)
VyacheslavLevytskyy Nov 27, 2023
f9266d7
Put args order for CooperativeMatrixLoadKHR in correspondence with th…
VyacheslavLevytskyy Nov 28, 2023
d791581
Fix reverse translation for a decoration applied to a function parame…
MrSidims Nov 28, 2023
0948d83
Fixing Intrinsic::ptr_annotation (#2235)
artemrad Nov 29, 2023
a390cb2
Merge remote-tracking branch 'origin/sycl-web' into llvmspirv_pulldown
sys-ce-bb Nov 30, 2023
c68953e
[SYCL] Update CodeGenSYCL test due to attr change
sys-ce-bb Nov 30, 2023
522cefd
[SYCL][clang tools] Fix conflict resolution
sys-ce-bb Nov 30, 2023
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
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .ci/monolithic-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
-D LLVM_ENABLE_LLD=ON \
-D CMAKE_CXX_FLAGS=-gmlt \
-D BOLT_CLANG_EXE=/usr/bin/clang \
-D LLVM_CCACHE_BUILD=ON
-D LLVM_CCACHE_BUILD=ON \
-D MLIR_ENABLE_BINDINGS_PYTHON=ON

echo "--- ninja"
# Targets are not escaped as they are passed as separate arguments.
Expand Down
3 changes: 2 additions & 1 deletion .ci/monolithic-windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
-D LLVM_LIT_ARGS="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml" \
-D COMPILER_RT_BUILD_ORC=OFF \
-D CMAKE_C_COMPILER_LAUNCHER=sccache \
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache \
-D MLIR_ENABLE_BINDINGS_PYTHON=ON

echo "--- ninja"
# Targets are not escaped as they are passed as separate arguments.
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ on:
paths:
- 'llvm/docs/**'
- 'clang/docs/**'
- 'clang/include/clang/Basic/AttrDocs.td'
- 'clang/include/clang/Driver/ClangOptionDocs.td'
- 'clang/include/clang/Basic/DiagnosticDocs.td'
- 'clang-tools-extra/docs/**'
- 'lldb/docs/**'
- 'libunwind/docs/**'
Expand All @@ -29,6 +32,9 @@ on:
paths:
- 'llvm/docs/**'
- 'clang/docs/**'
- 'clang/include/clang/Basic/AttrDocs.td'
- 'clang/include/clang/Driver/ClangOptionDocs.td'
- 'clang/include/clang/Basic/DiagnosticDocs.td'
- 'clang-tools-extra/docs/**'
- 'lldb/docs/**'
- 'libunwind/docs/**'
Expand Down Expand Up @@ -64,6 +70,9 @@ jobs:
- 'llvm/docs/**'
clang:
- 'clang/docs/**'
- 'clang/include/clang/Basic/AttrDocs.td'
- 'clang/include/clang/Driver/ClangOptionDocs.td'
- 'clang/include/clang/Basic/DiagnosticDocs.td'
clang-tools-extra:
- 'clang-tools-extra/docs/**'
lldb:
Expand Down
12 changes: 11 additions & 1 deletion .github/workflows/libcxx-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ on:
- 'runtimes/**'
- 'cmake/**'
- '.github/workflows/libcxx-build-and-test.yaml'
schedule:
# Run nightly at 8 AM UTC (or roughly 3 AM eastern)
- cron: '0 3 * * *'

permissions:
contents: read # Default everything to read-only

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
Expand Down Expand Up @@ -157,7 +163,11 @@ jobs:
'generic-no-unicode',
'generic-no-wide-characters',
'generic-static',
'generic-with_llvm_unwinder'
'generic-with_llvm_unwinder',
# TODO Find a better place for the benchmark and bootstrapping builds to live. They're either very expensive
# or don't provide much value since the benchmark run results are too noise on the bots.
'benchmarks',
'bootstrapping-build'
]
machine: [ 'libcxx-runners-8' ]
std_modules: [ 'OFF' ]
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/pr-code-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,11 @@ jobs:
path: code-format-tools

- name: "Listed files"
env:
CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
echo "Formatting files:"
echo "${{ steps.changed-files.outputs.all_changed_files }}"
echo "$CHANGED_FILES"

- name: Install clang-format
uses: aminya/setup-cpp@v1
Expand Down
17 changes: 0 additions & 17 deletions .github/workflows/sync-release-repo.yml

This file was deleted.

6 changes: 6 additions & 0 deletions bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,9 @@ class BinaryContext {
/// Indicates if the binary contains split functions.
bool HasSplitFunctions{false};

/// Indicates if the function ordering of the binary is finalized.
bool HasFinalizedFunctionOrder{false};

/// Is the binary always loaded at a fixed address. Shared objects and
/// position-independent executables (PIEs) are examples of binaries that
/// will have HasFixedLoadAddress set to false.
Expand Down Expand Up @@ -1230,6 +1233,9 @@ class BinaryContext {
///
/// Return the pair where the first size is for the main part, and the second
/// size is for the cold one.
/// Modify BinaryBasicBlock::OutputAddressRange for each basic block in the
/// function in place so that BinaryBasicBlock::getOutputSize() gives the
/// emitted size of the basic block.
std::pair<size_t, size_t> calculateEmittedSize(BinaryFunction &BF,
bool FixBranches = true);

Expand Down
3 changes: 2 additions & 1 deletion bolt/include/bolt/Core/DIEBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,8 @@ class DIEBuilder {
void buildCompileUnits(const std::vector<DWARFUnit *> &CUs);
/// Preventing implicit conversions.
template <class T> void buildCompileUnits(T) = delete;
void buildBoth();
/// Builds DWO Unit. For DWARF5 this includes the type units.
void buildDWOUnit(DWARFUnit &U);

/// Returns DWARFUnitInfo for DWARFUnit
DWARFUnitInfo &getUnitInfoByDwarfUnit(const DWARFUnit &DwarfUnit) {
Expand Down
5 changes: 4 additions & 1 deletion bolt/include/bolt/Passes/SplitFunctions.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ enum SplitFunctionsStrategy : char {
/// Split each function into a hot and cold fragment using profiling
/// information.
Profile2 = 0,
/// Split each function into a hot, warm, and cold fragment using
/// profiling information.
CDSplit,
/// Split each function into a hot and cold fragment at a randomly chosen
/// split point (ignoring any available profiling information).
Random2,
Expand All @@ -40,7 +43,7 @@ class SplitStrategy {

virtual ~SplitStrategy() = default;
virtual bool canSplit(const BinaryFunction &BF) = 0;
virtual bool keepEmpty() = 0;
virtual bool compactFragments() = 0;
virtual void fragment(const BlockIt Start, const BlockIt End) = 0;
};

Expand Down
34 changes: 28 additions & 6 deletions bolt/lib/Core/BinaryContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2331,14 +2331,36 @@ BinaryContext::calculateEmittedSize(BinaryFunction &BF, bool FixBranches) {
MCAsmLayout Layout(Assembler);
Assembler.layout(Layout);

// Obtain fragment sizes.
std::vector<uint64_t> FragmentSizes;
// Main fragment size.
const uint64_t HotSize =
Layout.getSymbolOffset(*EndLabel) - Layout.getSymbolOffset(*StartLabel);
const uint64_t ColdSize =
std::accumulate(SplitLabels.begin(), SplitLabels.end(), 0ULL,
[&](const uint64_t Accu, const LabelRange &Labels) {
return Accu + Layout.getSymbolOffset(*Labels.second) -
Layout.getSymbolOffset(*Labels.first);
});
FragmentSizes.push_back(HotSize);
// Split fragment sizes.
uint64_t ColdSize = 0;
for (const auto &Labels : SplitLabels) {
uint64_t Size = Layout.getSymbolOffset(*Labels.second) -
Layout.getSymbolOffset(*Labels.first);
FragmentSizes.push_back(Size);
ColdSize += Size;
}

// Populate new start and end offsets of each basic block.
uint64_t FragmentIndex = 0;
for (FunctionFragment &FF : BF.getLayout().fragments()) {
BinaryBasicBlock *PrevBB = nullptr;
for (BinaryBasicBlock *BB : FF) {
const uint64_t BBStartOffset = Layout.getSymbolOffset(*(BB->getLabel()));
BB->setOutputStartAddress(BBStartOffset);
if (PrevBB)
PrevBB->setOutputEndAddress(BBStartOffset);
PrevBB = BB;
}
if (PrevBB)
PrevBB->setOutputEndAddress(FragmentSizes[FragmentIndex]);
FragmentIndex++;
}

// Clean-up the effect of the code emission.
for (const MCSymbol &Symbol : Assembler.symbols()) {
Expand Down
96 changes: 63 additions & 33 deletions bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
#include "llvm/Support/Regex.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/xxhash.h"
#include <functional>
#include <limits>
#include <numeric>
Expand Down Expand Up @@ -108,6 +109,13 @@ cl::opt<bool>
cl::desc("try to preserve basic block alignment"),
cl::cat(BoltOptCategory));

static cl::opt<bool> PrintOutputAddressRange(
"print-output-address-range",
cl::desc(
"print output address range for each basic block in the function when"
"BinaryFunction::print is called"),
cl::Hidden, cl::cat(BoltOptCategory));

cl::opt<bool>
PrintDynoStats("dyno-stats",
cl::desc("print execution info based on profile"),
Expand Down Expand Up @@ -510,6 +518,11 @@ void BinaryFunction::print(raw_ostream &OS, std::string Annotation) {
OS << BB->getName() << " (" << BB->size()
<< " instructions, align : " << BB->getAlignment() << ")\n";

if (opts::PrintOutputAddressRange)
OS << formatv(" Output Address Range: [{0:x}, {1:x}) ({2} bytes)\n",
BB->getOutputAddressRange().first,
BB->getOutputAddressRange().second, BB->getOutputSize());

if (isEntryPoint(*BB)) {
if (MCSymbol *EntrySymbol = getSecondaryEntryPointSymbol(*BB))
OS << " Secondary Entry Point: " << EntrySymbol->getName() << '\n';
Expand Down Expand Up @@ -3283,7 +3296,7 @@ void BinaryFunction::fixBranches() {
BB->eraseInstruction(BB->findInstruction(UncondBranch));

// Basic block that follows the current one in the final layout.
const BinaryBasicBlock *NextBB =
const BinaryBasicBlock *const NextBB =
Layout.getBasicBlockAfter(BB, /*IgnoreSplits=*/false);

if (BB->succ_size() == 1) {
Expand All @@ -3300,39 +3313,54 @@ void BinaryFunction::fixBranches() {
assert(CondBranch && "conditional branch expected");
const BinaryBasicBlock *TSuccessor = BB->getConditionalSuccessor(true);
const BinaryBasicBlock *FSuccessor = BB->getConditionalSuccessor(false);
// Check whether we support reversing this branch direction
const bool IsSupported = !MIB->isUnsupportedBranch(*CondBranch);
if (NextBB && NextBB == TSuccessor && IsSupported) {

// Eliminate unnecessary conditional branch.
if (TSuccessor == FSuccessor) {
BB->removeDuplicateConditionalSuccessor(CondBranch);
if (TSuccessor != NextBB)
BB->addBranchInstruction(TSuccessor);
continue;
}

// Reverse branch condition and swap successors.
auto swapSuccessors = [&]() {
if (MIB->isUnsupportedBranch(*CondBranch))
return false;
std::swap(TSuccessor, FSuccessor);
{
auto L = BC.scopeLock();
MIB->reverseBranchCondition(*CondBranch, TSuccessor->getLabel(), Ctx);
}
BB->swapConditionalSuccessors();
} else {
auto L = BC.scopeLock();
MIB->reverseBranchCondition(*CondBranch, TSuccessor->getLabel(), Ctx);
return true;
};

// Check whether the next block is a "taken" target and try to swap it
// with a "fall-through" target.
if (TSuccessor == NextBB && swapSuccessors())
continue;

// Update conditional branch destination if needed.
if (MIB->getTargetSymbol(*CondBranch) != TSuccessor->getLabel()) {
auto L = BC.scopeLock();
MIB->replaceBranchTarget(*CondBranch, TSuccessor->getLabel(), Ctx);
}
if (TSuccessor == FSuccessor)
BB->removeDuplicateConditionalSuccessor(CondBranch);
if (!NextBB ||
((NextBB != TSuccessor || !IsSupported) && NextBB != FSuccessor)) {
// If one of the branches is guaranteed to be "long" while the other
// could be "short", then prioritize short for "taken". This will
// generate a sequence 1 byte shorter on x86.
if (IsSupported && BC.isX86() &&
TSuccessor->getFragmentNum() != FSuccessor->getFragmentNum() &&
BB->getFragmentNum() != TSuccessor->getFragmentNum()) {
std::swap(TSuccessor, FSuccessor);
{
auto L = BC.scopeLock();
MIB->reverseBranchCondition(*CondBranch, TSuccessor->getLabel(),
Ctx);
}
BB->swapConditionalSuccessors();
}
BB->addBranchInstruction(FSuccessor);

// No need for the unconditional branch.
if (FSuccessor == NextBB)
continue;

if (BC.isX86()) {
// We are going to generate two branches. Check if their targets are in
// the same fragment as this block. If only one target is in the same
// fragment, make it the destination of the conditional branch. There
// is a chance it will be a short branch which takes 5 bytes fewer than
// a long conditional branch. For unconditional branch, the difference
// is 4 bytes.
if (BB->getFragmentNum() != TSuccessor->getFragmentNum() &&
BB->getFragmentNum() == FSuccessor->getFragmentNum())
swapSuccessors();
}

BB->addBranchInstruction(FSuccessor);
}
// Cases where the number of successors is 0 (block ends with a
// terminator) or more than 2 (switch table) don't require branch
Expand Down Expand Up @@ -3624,7 +3652,7 @@ size_t BinaryFunction::computeHash(bool UseDFS,
for (const BinaryBasicBlock *BB : Order)
HashString.append(hashBlock(BC, *BB, OperandHashFunc));

return Hash = std::hash<std::string>{}(HashString);
return Hash = llvm::xxh3_64bits(HashString);
}

void BinaryFunction::insertBasicBlocks(
Expand Down Expand Up @@ -4131,10 +4159,6 @@ void BinaryFunction::updateOutputValues(const BOLTLinker &Linker) {
if (!requiresAddressMap())
return;

// Output ranges should match the input if the body hasn't changed.
if (!isSimple() && !BC.HasRelocations)
return;

// AArch64 may have functions that only contains a constant island (no code).
if (getLayout().block_empty())
return;
Expand Down Expand Up @@ -4182,6 +4206,12 @@ void BinaryFunction::updateOutputValues(const BOLTLinker &Linker) {
? FF.getAddress() + FF.getImageSize()
: getOutputAddress() + getOutputSize());
}

// Reset output addresses for deleted blocks.
for (BinaryBasicBlock *BB : DeletedBasicBlocks) {
BB->setOutputStartAddress(0);
BB->setOutputEndAddress(0);
}
}

DebugAddressRangesVector BinaryFunction::getOutputAddressRanges() const {
Expand Down
17 changes: 9 additions & 8 deletions bolt/lib/Core/DIEBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -193,12 +193,6 @@ void DIEBuilder::buildTypeUnits(const bool Init) {
if (Init)
BuilderState.reset(new State());

unsigned int CUNum = getCUNum(DwarfContext, IsDWO);
getState().CloneUnitCtxMap.resize(CUNum);
DWARFContext::unit_iterator_range CU4TURanges =
IsDWO ? DwarfContext->dwo_types_section_units()
: DwarfContext->types_section_units();

const DWARFUnitIndex &TUIndex = DwarfContext->getTUIndex();
if (!TUIndex.getRows().empty()) {
for (auto &Row : TUIndex.getRows()) {
Expand All @@ -208,6 +202,11 @@ void DIEBuilder::buildTypeUnits(const bool Init) {
true);
}
}
const unsigned int CUNum = getCUNum(DwarfContext, IsDWO);
getState().CloneUnitCtxMap.resize(CUNum);
DWARFContext::unit_iterator_range CU4TURanges =
IsDWO ? DwarfContext->dwo_types_section_units()
: DwarfContext->types_section_units();

getState().Type = ProcessingType::DWARF4TUs;
for (std::unique_ptr<DWARFUnit> &DU : CU4TURanges)
Expand Down Expand Up @@ -278,11 +277,13 @@ void DIEBuilder::buildCompileUnits(const std::vector<DWARFUnit *> &CUs) {
constructFromUnit(*DU);
}

void DIEBuilder::buildBoth() {
void DIEBuilder::buildDWOUnit(DWARFUnit &U) {
BuilderState.release();
BuilderState = std::make_unique<State>();
buildTypeUnits(false);
buildCompileUnits(false);
getState().Type = ProcessingType::CUs;
registerUnit(U, false);
constructFromUnit(U);
}

DIE *DIEBuilder::constructDIEFast(DWARFDie &DDie, DWARFUnit &U,
Expand Down
Loading