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 (WW22 2024) #13969

Merged
merged 440 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
440 commits
Select commit Hold shift + click to select a range
8d2258f
[memprof] Call llvm::SmallVector::reserve (#93324)
kazutakahirata May 24, 2024
d07362f
Enable unguarded availability diagnostic on instantiated template fun…
hekota May 24, 2024
4fb02de
[OpenMP][OMPX] Add shfl_down_sync (#93311)
shiltian May 24, 2024
5c40db1
[clang][Interp] Don't retry weak declarations
tbaederr May 24, 2024
8c718a3
[OpenMP][OMPX] No default argument for C API
shiltian May 24, 2024
6bf450c
[Support] Remove terminfo dependency (#92865)
aaronmondal May 24, 2024
098c6df
[NFC][OpenMP][OMPX] Remove ';' that is outside of a function
shiltian May 24, 2024
66b5f16
[RISCV] Do not check PostRAScheduler in enablePostRAScheduler (#92781)
michaelmaitland May 24, 2024
b9d40a7
[llvm-profgen] Improve sample profile density (#92144)
wlei-llvm May 24, 2024
1126657
[flang][runtime] Enable REAL printing in F18 offload runtime. (#87851)
vzakhari May 24, 2024
77369a7
[lldb] Fixed the TestDebuggerAPI test on x86_64 Windows host (#90580)
slydiman May 24, 2024
2669ee1
[OpenMP][AIX] Extend LIT test timeout limit (#93319)
xingxue-ibm May 24, 2024
6be1a15
[clang][c++20] Fix code coverage mapping crash with generalized NTTPs…
bolshakov-a May 24, 2024
3ec57a7
[test][EntryExitInstrumenter] Update/add tests
aeubanks May 24, 2024
e1f056f
Reland "[polly] Port polly tests to use NPM" (#92918)
rahulana-quic May 24, 2024
57be0d2
[Flang][OpenMP] Remove the orphan section test (#93343)
kiranchandramohan May 24, 2024
720cade
[BOLT][NFC] Avoid computing BF hash twice in YAML reader (#75096)
aaupov May 24, 2024
8f21909
[mlir] expose -debug-only equivalent to C and Python (#93175)
ftynse May 24, 2024
56c5ca8
[nfc][InstCombine]Find PHI incoming block by operand number (#93249)
minglotus-6 May 24, 2024
90e33e2
[clang-scan-deps] Expand response files before the argument adjuster …
aganea May 24, 2024
82bd7ad
[flang] Fix bug introduced by PR#93106 (#93326)
klausler May 24, 2024
9a038fc
[RISCV] PseudoMovImm is not a IsSignExtendingOpW instruction.
topperc May 24, 2024
4658803
[BOLT][NFC] Add isRIPRel and isIndexed helpers (#91661)
aaupov May 24, 2024
ccde823
Read and store gnu build id from loaded core file (#92492)
GeorgeHuyubo May 24, 2024
be83f5c
[BOLT][NFC] Simplify analyzeIndirectBranch (#91662)
aaupov May 24, 2024
8e3be5c
[mlir][arith] Clean up select op implementation (#93351)
kuhar May 24, 2024
f239490
[BOLT][NFC] Define getExprValue helper (#91663)
aaupov May 24, 2024
c26847d
[mlir][drr] Allow variadic in rewrite side (#93340)
jpienaar May 24, 2024
c460e45
[BOLT][NFCI] Fix return type of BC::getSignedValueAtAddress (#91664)
aaupov May 24, 2024
d637647
[clang][Driver] Fix enabling strict alising by default when the envir…
MaxEW707 May 24, 2024
b13f799
[RISCV] Fix spelling error in test names. NFC
topperc May 24, 2024
9b31cc7
Revert "[OpenMP][OMPX] Add shfl_down_sync (#93311)"
jhuber6 May 25, 2024
0338c55
[LV, VPlan] Check if plan is compatible to EVL transform (#92092)
arcbbb May 25, 2024
1c90de5
[analyzer] Allow recursive functions to be trivial. (#91876)
rniwa May 25, 2024
64ed699
Reland "[SimplifyCFG] When only one case value is missing, replace de…
DianQK Jan 3, 2024
7dc2f66
Reland "[SimplifyCFG] `switch`: Do Not Transform the Default Case if …
qiongsiwu Jan 12, 2024
778dbcb
[clang] Add /Zc:__STDC__ flag to clang-cl (#68690)
xbjfk May 25, 2024
85cf2e5
[llvm] Include the GenVT.inc to getEnumName (#93198)
4vtomat May 25, 2024
7d29718
[CMake] Update CMake cache file for the Win-to-Arm cross toolchains. …
vvereschaka May 25, 2024
25f4ead
[flang] [lldb] [llvm] Fix 'destory' comment typos [NFC] (#93260)
StephanTLavavej May 25, 2024
8364659
[VPlan] Remove unused Range arg from createWidenInductionRecipe (NFC).
fhahn May 25, 2024
4ecbfac
[llvm] Revise IDE folder structure (#89741)
Meinersbur May 25, 2024
56d319e
[Support] Fix LEB128 test when building with MSVC (#93184)
aganea May 25, 2024
8c2da89
[BOLT] Do not emit debug_names entry for DIEs with DW_AT_declaration …
ayermolo May 25, 2024
9da81ce
lldb unused var fix for NetBSD < 10. (#93377)
devnexen May 25, 2024
c5a3f66
[BOLT] Revise IDE folder structure (#89742)
Meinersbur May 25, 2024
f2a385c
[clang] Revise IDE folder structure (#89743)
Meinersbur May 25, 2024
4d60be0
[mlir] Do not print empty property (#93379)
bealwang May 25, 2024
76e7c8f
[flang] Revise IDE folder structure (#89745)
Meinersbur May 25, 2024
c3efb57
[lldb] Revise IDE folder structure (#89748)
Meinersbur May 25, 2024
064391d
[mlir] Revise IDE folder structure (#89749)
Meinersbur May 25, 2024
8bdc577
[openmp] Revise IDE folder structure (#89750)
Meinersbur May 25, 2024
e14f5f2
Revise IDE folder structure (#89755)
Meinersbur May 25, 2024
c16538f
[polly] Revise IDE folder structure (#89752)
Meinersbur May 25, 2024
faef8b4
[webkit.RefCntblBaseVirtualDtor] Allow CRTP classes without a virtual…
rniwa May 25, 2024
c87a7b3
[clang-tools-extra] Revise IDE folder structure (#89744)
Meinersbur May 25, 2024
ac17fbc
[VPlan] Add test for printing FOR with live-out.
fhahn May 26, 2024
7b48655
Reapply "[OpenMP][OMPX] Add shfl_down_sync (#93311)"
shiltian May 26, 2024
cf9eeb6
Revert "Reapply "[OpenMP][OMPX] Add shfl_down_sync (#93311)""
shiltian May 26, 2024
70d6e7c
[Clang] Rewrite SourceLocExpr in default args (#93383)
cor3ntin May 26, 2024
5220b7b
[clang][Interp] Handle objc strings
tbaederr May 26, 2024
d0bb917
[clang][Interp] Handle ObjCBoxedExprs
tbaederr May 26, 2024
331eb8a
[X86][CodeGen] Support lowering for CCMP/CTEST (#91747)
KanRobert May 26, 2024
a4a4366
[clang] In Sema use new parentEvaluationContext function (#93338)
a-tarasyuk May 26, 2024
cda5790
[Inliner] Don't propagate memory attributes to byval params (#93381)
amharc May 26, 2024
f9278d6
[RISCV] Fix tablegen indentation. NFC
topperc May 26, 2024
f28085a
Fix the warning in RefCntblBaseVirtualDtorChecker.cpp:61 (#93403)
rniwa May 26, 2024
1d3329c
[Thumb] Resolve FIXME: Transform "(and (shl x, c2), c1)" into "(shl (…
RSilicon May 26, 2024
70bf139
[Legalizer] Check full condition for UMIN and UMAX just like the code…
RSilicon May 26, 2024
972f297
Resolve TODO: Use TokenFactor for inline memset (#87002)
RSilicon May 26, 2024
bb02bf7
[Support] Refactor getN1Bits so it does not work around any g++ bug (…
RSilicon May 26, 2024
c6ce937
[Hexagon] Implement @llvm.readsteadycounter() (#93247)
androm3da May 26, 2024
6d48496
[InstCombine] lshr (mul (X, 2^N + 1)), N -> add (X, lshr(X, N)) (#92907)
RSilicon May 26, 2024
6e14583
[ARM][NFC] Use addLiveIns method instead of manually adding live-ins …
RSilicon May 26, 2024
64bba21
[InstCombine] Propagate disjoint flags during shl-binop transform (#9…
RSilicon May 26, 2024
0f8a747
[AArch64][NFC] Switch to LiveRegUnits (#87313)
RSilicon May 26, 2024
558c519
[SystemZ] LivePhysRegs to LiveRegUnits (NFC) (#85162)
RSilicon May 26, 2024
c42c320
[InstCombine] Add reverse of ((X << nuw Z) sub nuw Y) >>u exact Z -->…
RSilicon May 27, 2024
686600b
[LV] Add test showing missed removal of implied predicate.
fhahn May 27, 2024
bb4c8f9
[SCEV] Don't add predicates already implied by UnionPredicate. (#93397)
fhahn May 27, 2024
bafda89
[X86] Use generic CPU tuning when tune-cpu is empty (#83631)
RSilicon May 27, 2024
eeb2f72
[SelectionDAG][X86] Fix the assertion failure in Release build after …
KanRobert May 27, 2024
cbd8031
Revert "[X86] Use generic CPU tuning when tune-cpu is empty" (#93436)
phoebewang May 27, 2024
9027ee6
[X86][MC] Support encoding optimization & assembler relaxation about …
FreddyLeaf May 27, 2024
5b14624
[X86][DAGCombine] Remove the predicate hasCCMP() in combineX86SubCmpF…
KanRobert May 27, 2024
e73e495
[NFC] Fix typo unalighed_decl_id_t
ChuanqiXu9 May 27, 2024
b590ba7
[NFC] Rename 'DependentModules' in ModuleFile to `TransitiveImports`
ChuanqiXu9 May 27, 2024
2be8bea
Revert "[InstCombine] Add reverse of ((X << nuw Z) sub nuw Y) >>u exa…
nikic May 27, 2024
af16d49
Revert "[SystemZ] LivePhysRegs to LiveRegUnits (NFC) (#85162)"
nikic May 27, 2024
84314d0
Revert "[AArch64][NFC] Switch to LiveRegUnits (#87313)"
nikic May 27, 2024
9378d74
Revert "[ARM][NFC] Use addLiveIns method instead of manually adding l…
nikic May 27, 2024
83370e4
Revert "[InstCombine] lshr (mul (X, 2^N + 1)), N -> add (X, lshr(X, N…
nikic May 27, 2024
15c8ba4
Revert "[Support] Refactor getN1Bits so it does not work around any g…
nikic May 27, 2024
dbfed77
[WindowsManifestMerger] Remove deprecated call to xmlKeepBlanksDefaul…
nikic May 27, 2024
1c046ca
[lldb] Fixed PlatformPOSIX::DoLoadImage() in case of the Windows host…
slydiman May 27, 2024
9f85bc8
[PPCMergeStringPool] Only replace constant once (#92996)
nikic May 27, 2024
80b78f5
[RISCV] Update fold-scalar-load-crash.ll
wangpc-pp May 27, 2024
f31b197
[analyzer] Fix a test issue in mingw configurations (#92737)
mstorsjo May 27, 2024
243ffbd
[DSE] Check write location in IsRedundantStore (#93400)
eaeltsin May 27, 2024
0f85b25
[clang] NFC: add a test case for TemplateName canonical type print issue
mizvekov May 27, 2024
76b9d38
[clang][analyzer] PutenvStackArrayChecker: No warning from 'main' (#9…
balazske May 27, 2024
7429950
[clang][CodeComplete] Recurse into the subexpression of deref operato…
zyn0217 May 27, 2024
2b78c64
[flang] add API to copy and update descriptors for assumed ranks (#93…
jeanPerier May 27, 2024
43fd244
Reland "[AMDGPU] Add AMDGPU-specific module splitting (#89245)"
Pierre-vh May 23, 2024
cc184ee
[gn build] Port 43fd244b3d5c
llvmgnsyncbot May 27, 2024
b0b3596
[flang] add fir.rebox_assumed_rank operation (#93334)
jeanPerier May 27, 2024
f1d13bb
[flang] add FIR to FIR pass to lower assumed-rank operations (#93344)
jeanPerier May 27, 2024
c1ac6d2
[AMDGPU] Add amdgpu-as MMRA for fences (#78572)
Pierre-vh May 27, 2024
7a28a5b
[clang][Sema] Fix crash when diagnosing candidates with parameter pac…
kadircet May 27, 2024
4447461
[clang][Interp] Don't try to dereference a null type
tbaederr May 26, 2024
1e6a82b
[AMDGPU] Legalize and select raw/struct_buffer_load with tfe (#93310)
mbrkusanin May 27, 2024
8def128
[UniformityAnalysis] Use DenseSet for DivergentValues (#93455)
Pierre-vh May 27, 2024
0183b58
[Clang] Correctly diagnose a static function overloading a non-static…
cor3ntin May 27, 2024
8760d4b
[mlir][EmitC] Update comment (NFC)
marbre May 27, 2024
6af4118
Reapply #91116 with fix (#93160)
ergawy May 27, 2024
a487616
[DebugInfo][GVNSink] Merging debug locations of sinked instructions (…
Apochens May 27, 2024
b1e329a
[clang][Interp][NFC] Explicitly define PrimType values
tbaederr May 27, 2024
6a197b3
[clang][Interp] Fix returning references to functions
tbaederr May 27, 2024
21ee278
[Clang] Issue an error when an atomic builtin is called with a pointe…
HendrikHuebner May 27, 2024
6702594
[LoopCacheAnalysis] Fix loop cache cost to always round the cost up t…
RouzbehPaktinat May 27, 2024
5e140c8
[Clang] [NFC] Clarify assume diagnostic (#93077)
Sirraide May 27, 2024
49b760f
[clang][Interp] Fix calling virtual CXXOperatorCallExprs
tbaederr May 27, 2024
8cdecd4
[IR] Add getelementptr nusw and nuw flags (#90824)
nikic May 27, 2024
714aee3
[mlir][vector] Add result type to `interleave` assembly format (#93392)
kuhar May 27, 2024
3d1145a
[libc++] Remove libcxx/include/libcxx.imp
ldionne May 27, 2024
5fb3830
[clang-tools-extra] Remove redundant FOLDER property. NFC.
Meinersbur May 27, 2024
48c988c
[Clang] Only non-overloaded dereference expressions are lvalues (#93…
cor3ntin May 27, 2024
4b5e0a1
[Clang] [Sema] Diagnose unexpanded parameter packs in attributes (#93…
Sirraide May 27, 2024
34388f9
update_llc_test_checks: better support for non-llc tools (#93135)
nhaehnle May 27, 2024
d3ce107
[libcxx] [test] Use `shlex.quote()` to fix Python 3.13 compatibility …
mgorny May 27, 2024
67aec0c
[LowerSwitch] Use unsigned integer for range comparison (#93237)
DataCorrupted May 27, 2024
9bbd5de
[ELF,test] Simplify arm-gotoff.s and fix check prefixes
MaskRay May 27, 2024
855eef2
[bazel] Add missing dependency for `llvm-tblgen` (#93486)
bjacob May 27, 2024
59c6bd1
[ARM] Regnerate LowOverheadLoop tests. NFC
davemgreen May 27, 2024
f114edd
[libcxx][test][AIX] Fix the thousands_sep expectation for fr_FR local…
daltenty May 27, 2024
a5b7c36
[AArch64][PAC] Fix creating check instructions for BBs without an epi…
igorkudrin May 27, 2024
e406d5e
[libc++][pstl] Merge all frontend functions for the PSTL (#89219)
ldionne May 27, 2024
434ee06
[gn build] Port e406d5ed9cb3
llvmgnsyncbot May 27, 2024
dba2aa2
[clang-format] Add LeftWithLastLine to AlignEscapedNewlines option (#…
owenca May 27, 2024
1de1ee9
[clang][ci] Move libc++ testing into the main PR pipeline (#93318)
Endilll May 27, 2024
435ea21
[Driver] Remove unneeded *-linux-gnu after D158183
MaskRay May 27, 2024
1708de1
[XRay][compiler-rt][x86_64] Preserve flags in x86_64 trampolines. (#8…
rickyz May 27, 2024
21a39df
[XRay][compiler-rt] Fix oob memory access in FDR BufferQueue iterator…
rickyz May 27, 2024
57c10fa
[mlir][spirv] Add vector.interleave to spirv.VectorShuffle conversion…
angelz913 May 27, 2024
8b03786
[VPlan] Preserve DT (and SCEV) in VPlan-native path (#93287)
fhahn May 28, 2024
a4f75ec
[C++20] [Modules] Don't record implicitly declarations to BMI by defa…
ChuanqiXu9 May 28, 2024
0f08ef1
[LAA] Add tests with various early exits.
fhahn May 28, 2024
9ca2d60
[Driver][test] Replace legacy -target with --target=
MaskRay May 28, 2024
5eea4f4
[lld-macho] Add flag --keep-icf-stabs to LLD for MachO (#93137)
alx32 May 28, 2024
94d5f01
[X86][CodeGen][test] Add `dead` modifier for eflags w/o users, NFCI
KanRobert May 28, 2024
988cee7
[unittest] Fix target triple
MaskRay May 28, 2024
12b0ef5
[X86] Simplify BB->getParent(). NFC
MaskRay May 28, 2024
179fb2e
[XRay][X86] Fix stack alignment for custom event calls (#89360)
rickyz May 28, 2024
fcffea0
[XRay][X86] Handle conditional calls when lowering patchable tail cal…
rickyz May 28, 2024
5c7c1f6
[InstCombine] Try the flipped strictness of predicate in `foldICmpSh…
dtcxzyw May 28, 2024
2b21c68
[X86][test] Simplify tests for flag copy lowering, NFCI
KanRobert May 28, 2024
698058f
[X86][test] Update tests for flag copy lowering, NFCI
KanRobert May 28, 2024
0e73bbd
[AMDGPU][PromoteAlloca] Don't stop when an alloca is too big to promo…
Pierre-vh May 28, 2024
42c4027
[AMDGPU][SplitModule] Keep looking for more dependencies after findin…
Pierre-vh May 28, 2024
34ba1c0
[NFC] [Serialization] Emit Name for DECL_EXPORT
ChuanqiXu9 May 28, 2024
a0fdb38
[mlir][linalg] Add more precise memory effects to linalg op (#92079)
cxy-1993 May 28, 2024
af36fb0
[ARM] Remove static variables from ARMLowOverheadLoops. NFC
davemgreen May 28, 2024
ea20647
[mlir][ArmSME] NFC: -force-streaming-compatible-sve rename fixup (#93…
c-rhodes May 28, 2024
9aa56db
Revert "[Driver] Remove unneeded *-linux-gnu after D158183"
jplehr May 28, 2024
7cdd53d
[lldb][Test] Add C++ tests for DumpValueObjectOptions and enums (#93158)
DavidSpickett May 28, 2024
e8877b2
[X86] getGatherScatterOpCost- remove unnecessary extra brackets. NFC.
RKSimon May 27, 2024
8a395b0
[DAG] Use auto* for cast/dyn_cast results (style). NFC.
RKSimon May 27, 2024
4d3284c
[ConstFold] Add test for incorrect gep inbounds of undef fold (NFC)
nikic May 28, 2024
1383cb6
[ConstFold] Fix incorrect gep inbounds of undef fold
nikic May 28, 2024
cb7995a
[clang-repl] Set up executor implicitly to account for init PTUs (#8…
weliveindetail May 28, 2024
d106cf3
Merge from 'sycl' to 'sycl-web'
May 28, 2024
05443ad
[X86] isHorizontalBinOp - always create HADD/SUB if it will be merged…
RKSimon May 28, 2024
f53f2a8
[VectorCombine] Add constant splat handling for shuffleToIdentity (#9…
davemgreen May 28, 2024
2fc5106
[mlir] Remove dialect specific bufferization passes (#93488)
Groverkss May 28, 2024
cbed9a6
[clang][Interp] Fix ignoring assumptions
tbaederr May 28, 2024
39848d0
Revert "[mlir] Remove dialect specific bufferization passes" (#93528)
Groverkss May 28, 2024
1227171
[AArch64][SME] Add intrinsics for multi-vector BFCLAMP (#88251)
Lukacma May 28, 2024
d46e373
[DebugCounter] Add support for non-continous ranges. (#89470)
Ralender May 28, 2024
42b4be6
[clang][NFC] Remove `utils/ci/run-buildbot` script
Endilll May 28, 2024
d67200e
Revert "[AArch64][SME] Add intrinsics for multi-vector BFCLAMP" (#93531)
Lukacma May 28, 2024
23e1ed6
[libc++] Split up ABI and platform configuration to their own headers…
ldionne May 28, 2024
d803837
[mlir] Add missing fields in DICompositeTypeAttr. (#93226)
abidh May 28, 2024
9b79ace
[mlir][Bazel] Followup to 57c10fa564af44a5b236bc642c540d715b04448c
akuegel May 28, 2024
aefcded
[flang][HLFIR][NFC] Reduce BufferizeHLFIR pass boilerplate (#93161)
tblah May 28, 2024
f29352b
[RuntimeDyldChecker][AArch32] Add a PC offset to next_PC for ARM targ…
eymay May 28, 2024
98f9bb3
[clang-repl] Check host JIT support in all tests that create an Inter…
weliveindetail May 28, 2024
17ecd23
[X86][tablgen] Extend X86CompressEVEXTablesEmitter for NF transform
KanRobert May 28, 2024
516a9f5
[VectorCombine] Add Cmp and Select for shuffleToIdentity (#92794)
davemgreen May 28, 2024
125bd06
[mlir][emitc] Support conversion of arith.divsi and arith.remsi to Em…
josel-amd May 28, 2024
fe5d791
AMDGPU: Add some multi-use negative tests for minimum3/maximum3
arsenm May 23, 2024
1da52ca
[flang] Fix typos PPC intrinsics tests (NFC) (#92943)
kkwli May 28, 2024
01fbc56
[mlir][vector] Add support for linearizing Insert VectorOp in VectorL…
akroviakov May 28, 2024
bdd4e8b
[bazel] Port 17ecd23f6932c87fcc8b2b8675762d50f3d53056
d0k May 28, 2024
5988c79
[X86][tablgen] Add assertions when emitting NF transform table
KanRobert May 28, 2024
2c7c9df
[gn] port 17ecd23f6932 (-gen-x86-instr-mapping)
nico May 28, 2024
de32786
[flang][HLFIR][NFC] Reduce HLFIR to FIR conversion boilerplate (#93539)
tblah May 28, 2024
44861c7
[mlir] [linalg] Check for dim shape to decide unit dim for each opera…
sahas3 May 28, 2024
24a12a9
[clang] Diagnose problematic diagnostic messages (#93229)
AaronBallman May 28, 2024
6e1a042
Fix failure after d46e37348ec3f8054b10bcbbe7c11149d7f61031
Ralender May 28, 2024
8995ccc
[Clang] Add support for [[msvc::noinline]] attribute. (#91720)
simonzgx May 28, 2024
2ace7bd
[Clang] allow `` `@$ `` in raw string delimiters in C++26 (#93216)
cor3ntin May 28, 2024
57790db
[gn build] Port 23e1ed65c2c3
llvmgnsyncbot May 28, 2024
46a30df
Reland "[AArch64] NFC: Add RUN lines for streaming-compatible code." …
sdesmalen-arm May 23, 2024
3864bfd
[IR] Fix ignoring `non-global-value-max-name-size` in `ValueSymbolTab…
dfukalov May 28, 2024
d2a103e
[memprof] Remove const from the return type of toMemProfRecord (#93415)
kazutakahirata May 28, 2024
74ed79f
[mlir][linalg] Add linalg.transpose constant folding (#92589)
ryan-holt-1 May 28, 2024
cde1ae4
[lldb][NativePDB] Fix uninitialized values found by msan.
ZequanWu May 28, 2024
94be801
[mlir][ROCDL] Update the LLVM data layout for ROCDL lowering. (#92127)
stefankoncarevic May 28, 2024
26e0ce0
[flang] update fir.box_rank and fir.is_array codegen (#93541)
jeanPerier May 28, 2024
77c42d8
Merge from 'main' to 'sycl-web' (338 commits)
t-demchuk May 28, 2024
8890214
[Frontend][OpenMP] Rename some variables, NFC
kparzysz May 28, 2024
51dd4ea
Reapply [lldb][DWARF] Delay struct/class/union definition DIE search…
ZequanWu May 28, 2024
d490ce2
[RISCV] Use mask undisturbed policy when silencing sNans for strict r…
topperc May 28, 2024
f284af4
[Offload][Fix] Fix lazy initialization with multiple images
jhuber6 May 28, 2024
af22e27
TosaToTensor: Support reshape on tensors of unsigned integer (#91734)
mgehre-amd May 28, 2024
fea7399
[clang] Fix a warning
kazutakahirata May 28, 2024
273777e
clang:: to llvm::; NFC
AaronBallman May 28, 2024
259caad
[Clang] Fix an assertion failure when checking invalid `this` (#93490)
a-tarasyuk May 28, 2024
46724f5
Merge from 'sycl' to 'sycl-web' (6 commits)
May 28, 2024
234cc40
[LAA] Limit no-overlap check to at least one loop-invariant accesses.
fhahn May 28, 2024
d582958
Revert "[Legalizer] Check full condition for UMIN and UMAX just like …
RSilicon May 28, 2024
42944e4
Add SBAddressRange and SBAddressRangeList to SB API (#92014)
mbucko May 28, 2024
79c7342
[gn build] Port 42944e460082
llvmgnsyncbot May 28, 2024
7bea41e
LoopIdiomRecognize: strip bad TODO (NFC) (#92890)
artagnon May 28, 2024
16a5fd3
DAG: Use flags in isLegalToCombineMinNumMaxNum (#93555)
arsenm May 28, 2024
b963931
[lld-macho][ObjC] Implement category merging into base class (#92448)
alx32 May 28, 2024
cc68b56
Merge from 'main' to 'sycl-web' (49 commits)
t-demchuk May 28, 2024
d1d863c
[lldb] Remove lldbassert in AppleObjCTypeEncodingParser (#93332)
JDevlieghere May 28, 2024
f69b6d2
[lldb] Add missing semicolon (NFC)
JDevlieghere May 28, 2024
c09787b
[OMPT] Set default values for tsan function pointers (#93568)
FLZ101 May 28, 2024
ef67f31
[SCEV] Compute symbolic max backedge taken count in BTI directly. (NFC)
fhahn May 28, 2024
0b2094c
[Clang] [NFC] Remove debug printing
Sirraide May 28, 2024
f089996
[clang][Sema] Don't emit 'declared here' note for builtin functions w…
JOE1994 May 28, 2024
73e22ff
[Reassociate] Preserve NSW flags after expr tree rewriting (#93105)
akshayrdeodhar May 28, 2024
13f6d40
Disable SYCL Device RUNs till we determine required behavior (#13907)
elizabethandrews May 29, 2024
bc81973
Merge remote-tracking branch 'origin/sycl-web' into llvmspirv_pulldown
sys-ce-bb May 30, 2024
7719244
Merge commit '73e22ff3d77db72bb9b6e22342417a5f4fe6afb4' into llvmspir…
sys-ce-bb May 30, 2024
a050277
Add cl_khr_kernel_clock support (#2582)
svenvh May 24, 2024
4ea28ff
Remove unused IsRetSigned field (#2567)
svenvh May 26, 2024
d493496
Incorporate SPV_KHR_integer_dot_product into SPIR-V 1.6 (#2584)
vmaksimo May 26, 2024
7325e1c
Incorporate SPV_KHR_non_semantic_info into SPIR-V 1.6 (#2532)
vmaksimo May 26, 2024
2111a4a
W/A GCC maybe-uninitialized warning (#2588)
MrSidims May 28, 2024
229dfad
Re-implement Intel cache controls decoration (#2587)
MrSidims May 28, 2024
32043fd
Upgrade out-of-tree job to Ubuntu 22.04
svenvh May 28, 2024
aea0d03
Fix uninitialized DominatorTree member
svenvh May 28, 2024
82607c6
Fix maybe-uninitialized warning in vector_reduce handling
svenvh May 28, 2024
ba3b741
Ensure 'printf' is translated to a printf extended insn (#2581)
LU-JOHN May 29, 2024
dd9efc6
Fix lit fails associated with capitalization changes in error messages
calebwat May 31, 2024
4759a3a
Merge branch 'sycl' into llvmspirv_pulldown
sys-ce-bb Jun 25, 2024
dadc1ff
[Clang] Format diagnostic message in 7ed3c2990 with community convent…
tianqingw Jun 11, 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
  •  
  •  
  •  
42 changes: 30 additions & 12 deletions .ci/generate-buildkite-pipeline-premerge
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,22 @@ function compute-projects-to-test() {
done
}

function compute-runtimes-to-test() {
projects=${@}
for project in ${projects}; do
case ${project} in
clang)
for p in libcxx libcxxabi libunwind; do
echo $p
done
;;
*)
# Nothing to do
;;
esac
done
}

function add-dependencies() {
projects=${@}
for project in ${projects}; do
Expand Down Expand Up @@ -178,6 +194,15 @@ function check-targets() {
cross-project-tests)
echo "check-cross-project"
;;
libcxx)
echo "check-cxx"
;;
libcxxabi)
echo "check-cxxabi"
;;
libunwind)
echo "check-unwind"
;;
lldb)
echo "check-all" # TODO: check-lldb may not include all the LLDB tests?
;;
Expand Down Expand Up @@ -207,17 +232,6 @@ if echo "$modified_dirs" | grep -q -E "^(libcxx|libcxxabi|libunwind|runtimes|cma
EOF
fi

# If clang changed.
if echo "$modified_dirs" | grep -q -E "^(clang)$"; then
cat <<EOF
- trigger: "clang-ci"
build:
message: "${buildMessage}"
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"
EOF
fi

# Generic pipeline for projects that have not defined custom steps.
#
# Individual projects should instead define the pre-commit CI tests that suits their
Expand All @@ -231,6 +245,10 @@ linux_projects_to_test=$(exclude-linux $(compute-projects-to-test ${modified_pro
linux_check_targets=$(check-targets ${linux_projects_to_test} | sort | uniq)
linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq)

linux_runtimes_to_test=$(compute-runtimes-to-test ${linux_projects_to_test})
linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq)
linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq)

windows_projects_to_test=$(exclude-windows $(compute-projects-to-test ${modified_projects}))
windows_check_targets=$(check-targets ${windows_projects_to_test} | sort | uniq)
windows_projects=$(add-dependencies ${windows_projects_to_test} | sort | uniq)
Expand All @@ -255,7 +273,7 @@ if [[ "${linux_projects}" != "" ]]; then
CC: 'clang'
CXX: 'clang++'
commands:
- './.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})"'
- './.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})"'
EOF
fi

Expand Down
74 changes: 73 additions & 1 deletion .ci/monolithic-linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ set -o pipefail

MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}"
BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}"
INSTALL_DIR="${BUILD_DIR}/install"
rm -rf "${BUILD_DIR}"

ccache --zero-stats
Expand Down Expand Up @@ -49,8 +50,79 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
-D LLVM_ENABLE_LLD=ON \
-D CMAKE_CXX_FLAGS=-gmlt \
-D LLVM_CCACHE_BUILD=ON \
-D MLIR_ENABLE_BINDINGS_PYTHON=ON
-D MLIR_ENABLE_BINDINGS_PYTHON=ON \
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}"

echo "--- ninja"
# Targets are not escaped as they are passed as separate arguments.
ninja -C "${BUILD_DIR}" -k 0 ${targets}

runtimes="${3}"
runtime_targets="${4}"

# Compiling runtimes with just-built Clang and running their tests
# as an additional testing for Clang.
if [[ "${runtimes}" != "" ]]; then
if [[ "${runtime_targets}" == "" ]]; then
echo "Runtimes to build are specified, but targets are not."
exit 1
fi

echo "--- ninja install-clang"

ninja -C ${BUILD_DIR} install-clang install-clang-resource-headers

RUNTIMES_BUILD_DIR="${MONOREPO_ROOT}/build-runtimes"
INSTALL_DIR="${BUILD_DIR}/install"
mkdir -p ${RUNTIMES_BUILD_DIR}

echo "--- cmake runtimes C++03"

cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
-D LIBCXX_CXX_ABI=libcxxabi \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
-D LIBCXX_TEST_PARAMS="std=c++03" \
-D LIBCXXABI_TEST_PARAMS="std=c++03"

echo "--- ninja runtimes C++03"

ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}

echo "--- cmake runtimes C++26"

rm -rf "${RUNTIMES_BUILD_DIR}"
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
-D LIBCXX_CXX_ABI=libcxxabi \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
-D LIBCXX_TEST_PARAMS="std=c++26" \
-D LIBCXXABI_TEST_PARAMS="std=c++26"

echo "--- ninja runtimes C++26"

ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}

echo "--- cmake runtimes clang modules"

rm -rf "${RUNTIMES_BUILD_DIR}"
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
-D LIBCXX_CXX_ABI=libcxxabi \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
-D LIBCXX_TEST_PARAMS="enable_modules=clang" \
-D LIBCXXABI_TEST_PARAMS="enable_modules=clang"

echo "--- ninja runtimes clang modules"

ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}
fi
4 changes: 3 additions & 1 deletion bolt/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
set(LLVM_SUBPROJECT_TITLE "BOLT")

include(ExternalProject)

set(BOLT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
Expand Down Expand Up @@ -121,7 +123,7 @@ option(BOLT_BUILD_TOOLS
"Build the BOLT tools. If OFF, just generate build targets." ON)

add_custom_target(bolt)
set_target_properties(bolt PROPERTIES FOLDER "BOLT")
set_target_properties(bolt PROPERTIES FOLDER "BOLT/Metatargets")
add_llvm_install_targets(install-bolt DEPENDS bolt COMPONENT bolt)

include_directories(
Expand Down
1 change: 0 additions & 1 deletion bolt/cmake/modules/AddBOLT.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ include(LLVMDistributionSupport)

macro(add_bolt_executable name)
add_llvm_executable(${name} ${ARGN})
set_target_properties(${name} PROPERTIES FOLDER "BOLT")
endmacro()

macro(add_bolt_tool name)
Expand Down
5 changes: 5 additions & 0 deletions bolt/docs/BAT.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,14 @@ equals output offset.
`BRANCHENTRY` bit denotes whether a given offset pair is a control flow source
(branch or call instruction). If not set, it signifies a control flow target
(basic block offset).

`InputAddr` is omitted for equal offsets in input and output function. In this
case, `BRANCHENTRY` bits are encoded separately in a `BranchEntries` bitvector.

Deleted basic blocks are emitted as having `OutputOffset` equal to the size of
the function. They don't affect address translation and only participate in
input basic block mapping.

### Secondary Entry Points table
The table is emitted for hot fragments only. It contains `NumSecEntryPoints`
offsets denoting secondary entry points, delta encoded, implicitly starting at zero.
Expand Down
1 change: 1 addition & 0 deletions bolt/docs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ if (LLVM_ENABLE_DOXYGEN)
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating bolt doxygen documentation." VERBATIM)
set_target_properties(doxygen-bolt PROPERTIES FOLDER "BOLT/Docs")

if (LLVM_BUILD_DOCS)
add_dependencies(doxygen doxygen-bolt)
Expand Down
7 changes: 5 additions & 2 deletions bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include "bolt/Core/BinaryData.h"
#include "bolt/Core/BinarySection.h"
#include "bolt/Core/DebugData.h"
#include "bolt/Core/DynoStats.h"
#include "bolt/Core/JumpTable.h"
#include "bolt/Core/MCPlusBuilder.h"
#include "bolt/RuntimeLibs/RuntimeLibrary.h"
Expand Down Expand Up @@ -717,6 +718,9 @@ class BinaryContext {
uint64_t NumStaleBlocksWithEqualIcount{0};
} Stats;

// Original binary execution count stats.
DynoStats InitialDynoStats;

// Address of the first allocated segment.
uint64_t FirstAllocAddress{std::numeric_limits<uint64_t>::max()};

Expand Down Expand Up @@ -1220,8 +1224,7 @@ class BinaryContext {

/// Return a signed value of \p Size stored at \p Address. The address has
/// to be a valid statically allocated address for the binary.
ErrorOr<uint64_t> getSignedValueAtAddress(uint64_t Address,
size_t Size) const;
ErrorOr<int64_t> getSignedValueAtAddress(uint64_t Address, size_t Size) const;

/// Special case of getUnsignedValueAtAddress() that uses a pointer size.
ErrorOr<uint64_t> getPointerAtAddress(uint64_t Address) const {
Expand Down
23 changes: 20 additions & 3 deletions bolt/include/bolt/Passes/BinaryPasses.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,31 @@ class BinaryFunctionPass {
virtual Error runOnFunctions(BinaryContext &BC) = 0;
};

/// A pass to set initial program-wide dynostats.
class DynoStatsSetPass : public BinaryFunctionPass {
public:
DynoStatsSetPass() : BinaryFunctionPass(false) {}

const char *getName() const override {
return "set dyno-stats before optimizations";
}

bool shouldPrint(const BinaryFunction &BF) const override { return false; }

Error runOnFunctions(BinaryContext &BC) override {
BC.InitialDynoStats = getDynoStats(BC.getBinaryFunctions(), BC.isAArch64());
return Error::success();
}
};

/// A pass to print program-wide dynostats.
class DynoStatsPrintPass : public BinaryFunctionPass {
protected:
DynoStats PrevDynoStats;
std::string Title;

public:
DynoStatsPrintPass(const DynoStats &PrevDynoStats, const char *Title)
: BinaryFunctionPass(false), PrevDynoStats(PrevDynoStats), Title(Title) {}
DynoStatsPrintPass(const char *Title)
: BinaryFunctionPass(false), Title(Title) {}

const char *getName() const override {
return "print dyno-stats after optimizations";
Expand All @@ -70,6 +86,7 @@ class DynoStatsPrintPass : public BinaryFunctionPass {
bool shouldPrint(const BinaryFunction &BF) const override { return false; }

Error runOnFunctions(BinaryContext &BC) override {
const DynoStats PrevDynoStats = BC.InitialDynoStats;
const DynoStats NewDynoStats =
getDynoStats(BC.getBinaryFunctions(), BC.isAArch64());
const bool Changed = (NewDynoStats != PrevDynoStats);
Expand Down
3 changes: 2 additions & 1 deletion bolt/include/bolt/Profile/BoltAddressTranslation.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class BinaryFunction;
class BoltAddressTranslation {
public:
// In-memory representation of the address translation table
using MapTy = std::map<uint32_t, uint32_t>;
using MapTy = std::multimap<uint32_t, uint32_t>;

// List of taken fall-throughs
using FallthroughListTy = SmallVector<std::pair<uint64_t, uint64_t>, 16>;
Expand Down Expand Up @@ -218,6 +218,7 @@ class BoltAddressTranslation {
auto begin() const { return Map.begin(); }
auto end() const { return Map.end(); }
auto upper_bound(uint32_t Offset) const { return Map.upper_bound(Offset); }
auto size() const { return Map.size(); }
};

/// Map function output address to its hash and basic blocks hash map.
Expand Down
6 changes: 3 additions & 3 deletions bolt/lib/Core/BinaryContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ BinaryContext::BinaryContext(std::unique_ptr<MCContext> Ctx,
AsmInfo(std::move(AsmInfo)), MII(std::move(MII)), STI(std::move(STI)),
InstPrinter(std::move(InstPrinter)), MIA(std::move(MIA)),
MIB(std::move(MIB)), MRI(std::move(MRI)), DisAsm(std::move(DisAsm)),
Logger(Logger) {
Logger(Logger), InitialDynoStats(isAArch64()) {
Relocation::Arch = this->TheTriple->getArch();
RegularPageSize = isAArch64() ? RegularPageSizeAArch64 : RegularPageSizeX86;
PageAlign = opts::NoHugePages ? RegularPageSize : HugePageSize;
Expand Down Expand Up @@ -2217,8 +2217,8 @@ ErrorOr<uint64_t> BinaryContext::getUnsignedValueAtAddress(uint64_t Address,
return DE.getUnsigned(&ValueOffset, Size);
}

ErrorOr<uint64_t> BinaryContext::getSignedValueAtAddress(uint64_t Address,
size_t Size) const {
ErrorOr<int64_t> BinaryContext::getSignedValueAtAddress(uint64_t Address,
size_t Size) const {
const ErrorOr<const BinarySection &> Section = getSectionForAddress(Address);
if (!Section)
return std::make_error_code(std::errc::bad_address);
Expand Down
23 changes: 17 additions & 6 deletions bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -851,15 +851,19 @@ BinaryFunction::processIndirectBranch(MCInst &Instruction, unsigned Size,
return IndirectBranchType::UNKNOWN;
}

// RIP-relative addressing should be converted to symbol form by now
// in processed instructions (but not in jump).
if (DispExpr) {
auto getExprValue = [&](const MCExpr *Expr) {
const MCSymbol *TargetSym;
uint64_t TargetOffset;
std::tie(TargetSym, TargetOffset) = BC.MIB->getTargetSymbolInfo(DispExpr);
std::tie(TargetSym, TargetOffset) = BC.MIB->getTargetSymbolInfo(Expr);
ErrorOr<uint64_t> SymValueOrError = BC.getSymbolValue(*TargetSym);
assert(SymValueOrError && "global symbol needs a value");
ArrayStart = *SymValueOrError + TargetOffset;
assert(SymValueOrError && "Global symbol needs a value");
return *SymValueOrError + TargetOffset;
};

// RIP-relative addressing should be converted to symbol form by now
// in processed instructions (but not in jump).
if (DispExpr) {
ArrayStart = getExprValue(DispExpr);
BaseRegNum = BC.MIB->getNoRegister();
if (BC.isAArch64()) {
ArrayStart &= ~0xFFFULL;
Expand Down Expand Up @@ -3698,6 +3702,13 @@ BinaryFunction::BasicBlockListType BinaryFunction::dfs() const {

size_t BinaryFunction::computeHash(bool UseDFS, HashFunction HashFunction,
OperandHashFuncTy OperandHashFunc) const {
LLVM_DEBUG({
dbgs() << "BOLT-DEBUG: computeHash " << getPrintName() << ' '
<< (UseDFS ? "dfs" : "bin") << " order "
<< (HashFunction == HashFunction::StdHash ? "std::hash" : "xxh3")
<< '\n';
});

if (size() == 0)
return 0;

Expand Down
4 changes: 2 additions & 2 deletions bolt/lib/Core/DebugNames.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,6 @@ void DWARF5AcceleratorTable::addUnit(DWARFUnit &Unit,
// Returns true if DW_TAG_variable should be included in .debug-names based on
// section 6.1.1.1 for DWARF5 spec.
static bool shouldIncludeVariable(const DWARFUnit &Unit, const DIE &Die) {
if (Die.findAttribute(dwarf::Attribute::DW_AT_declaration))
return false;
const DIEValue LocAttrInfo =
Die.findAttribute(dwarf::Attribute::DW_AT_location);
if (!LocAttrInfo)
Expand Down Expand Up @@ -148,6 +146,8 @@ static bool shouldIncludeVariable(const DWARFUnit &Unit, const DIE &Die) {

bool static canProcess(const DWARFUnit &Unit, const DIE &Die,
std::string &NameToUse, const bool TagsOnly) {
if (Die.findAttribute(dwarf::Attribute::DW_AT_declaration))
return false;
switch (Die.getTag()) {
case dwarf::DW_TAG_base_type:
case dwarf::DW_TAG_class_type:
Expand Down
Loading
Loading