Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW43) #11670

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 711 commits into from
Oct 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
711 commits
Select commit Hold shift + click to select a range
2df69ed
[X86] Add scalar isel test coverage for AND/OR/XOR types
RKSimon Oct 24, 2023
d3cf00b
[InstCombine] Remove some redundant select folds (NFCI)
nikic Oct 24, 2023
34c33bb
[InstCombine] Remove redundant fold in foldSelectExtConst() (NFCI)
nikic Oct 24, 2023
1a7061c
[InstCombine] Remove redundant logical select fold (NFCI)
nikic Oct 24, 2023
f07718b
[mlir][transform] Improve error when merging of modules fails. (#69331)
ingomueller-net Oct 24, 2023
1f02743
Reland "Add Documentation for Execution Results Handling in Clang-Rep…
vgvassilev Oct 24, 2023
b901aca
[InstCombine] Remove unnecessary typed pointer fold (NFCI)
nikic Oct 24, 2023
d8a5c79
[clang][Sema] Correct end for the `CastOperation.OpRange` (#69480)
HoBoIs Oct 18, 2023
8edcfa0
[bazel] Add missing dependencies for ba8ae9866be1d0f65f1c86fd1c657f47…
d0k Oct 24, 2023
8875f78
[mlir] Change default NVVM compilation to `fatbin` from `bin` (#70052)
grypp Oct 24, 2023
7cce908
[RISCV][GISel][NFC] Correct the test case in constant32.mir (#70003)
4vtomat Oct 24, 2023
14b0ae4
[InstCombine] Remove redundant fold in foldUnsignedUnderflowCheck() (…
nikic Oct 24, 2023
b5c4456
[InstCombine] Remove redundant folds in foldCastedBitwiseLogic() (NFCI)
nikic Oct 24, 2023
35f4b49
Merge from 'sycl' to 'sycl-web'
Oct 24, 2023
95e4ad3
[InstCombine] Remove redundant add+and fold (NFCI)
nikic Oct 24, 2023
8d307f5
[SLP]Fix PR69246: do not treat resizing maskas identity.
alexey-bataev Oct 24, 2023
6e3e21d
[InstCombine] Remove unnecessary removeBitcastsFromLoadStoreOnMinMax(…
nikic Oct 24, 2023
295dbd5
Merge from 'main' to 'sycl-web' (446 commits)
maarquitos14 Oct 24, 2023
ec06459
Revert "[mlgo] Fix tests post 760e7d0"
mtrofin Oct 24, 2023
00d3ed6
[Reland] Detect against invalid variant index for LibStdC++ std::vari…
jeffreytan81 Oct 24, 2023
7c651a1
[libunwind][AIX] static_cast the value from getLR() to avoid the warn…
xingxue-ibm Oct 24, 2023
9f3e340
[clang]Transform uninstantiated ExceptionSpec in TemplateInstantiator…
HerrCai0907 Oct 24, 2023
4c600bd
[NVPTX] Add a test to verify the .version with sm_90(a)
d0k Oct 24, 2023
513b950
Make -frewrite-includes handle -include correctly
pogo59 Oct 24, 2023
ebf4c69
[Clang][LTO][GISel] Propagate `-fglobal-siel` to LTO (#69747)
mshockwave Oct 24, 2023
93f8e52
[FunctionAttrs] Improve handling of alias-preserving intrinsic calls …
krzysz00 Oct 24, 2023
8286743
[flang][openacc] Allow acc routine at the top level (#69936)
clementval Oct 24, 2023
d79051f
[SLP]Fix PR70004: Do not change insert point for reduction gather nodes.
alexey-bataev Oct 24, 2023
f65cd04
[ModuleInliner] Remove an extraneous pair of std::push_heap and std::…
kazutakahirata Oct 24, 2023
3b89794
Reintroduce accidentally deleted "protected" keyword in SymbolFileDWA…
augusto2112 Oct 24, 2023
4f8ab93
Fix build failure caused by bad conflict resolution. (#11643)
maarquitos14 Oct 24, 2023
16fe53c
[NFC][Clang] Remove unused variable "AOBFileNames"
jmmartinez Oct 18, 2023
d2ce3e9
[builtins] Support building the 128-bit float functions on ld80 platf…
arichardson Oct 24, 2023
e3476f6
[lldb][gardening] Remove full name of "DWARFDIE" type in GetTypeForDI…
augusto2112 Oct 24, 2023
9f592cb
[GISel] Pass MPO and VA to assignValueToAddress by const reference. N…
topperc Oct 24, 2023
ad7611d
[builtins] Fix floattitf.c etc. compilation on Solaris/SPARC (#70058)
rorth Oct 24, 2023
86b4388
[OpenMP 5.2] Deprecate syntax of map modifiers without comma separato…
mdfazlay Oct 24, 2023
211dc4a
[Analysis] Add Scalable field in MemoryLocation.h (#69716)
harviniriawan Oct 24, 2023
4c28e66
[ADT] Support appending multiple values (#69891)
kuhar Oct 24, 2023
122c89b
[dsymutil] Add support for mergeable libraries
Alpha-10000 Oct 24, 2023
34459b7
[OpenMP] Provide big-endian bitfield definitions (#69995)
iii-i Oct 24, 2023
77c2b62
[OpenMP][Tests] Sync struct DEP with the runtime (#69982)
iii-i Oct 24, 2023
d593f6c
Revert "[clang] Support fixed point types in C++ (#67750)" (#69963)
zahiraam Oct 24, 2023
8a57bc0
[mlir][tosa] Add verifiers to ReduceOps, fix shape inference crash (#…
ubfx Oct 24, 2023
4950467
Expose DWARFDIE::GetDeclContext() in lldb_private::Function. (#69981)
adrian-prantl Oct 24, 2023
f418319
Reland "[clang][Sema] Use original template pattern when declaring im…
antangelo Oct 24, 2023
4396126
[mlir][sparse] hoists alloca outside the outermost loop. (#70085)
PeimingLiu Oct 24, 2023
fa7c50d
[RISCV] Rename hasFixedResult to willVLBeAVL [nfc]
preames Oct 24, 2023
570c168
[flang][openacc] Support single array element in data clause (#70065)
clementval Oct 24, 2023
20d97ad
[Clang] Mark declarators invalid in the presence of ill-formed explic…
cor3ntin Oct 24, 2023
3a72bcb
[BOLT] Fix build issues after #69836 (#70087)
aaupov Oct 24, 2023
717946f
Revert "[dsymutil] Add support for mergeable libraries"
preames Oct 24, 2023
2732860
[RISCV][InsertVSETVLI] Add Subtarget variable to class [nfc]
preames Oct 24, 2023
e1e0598
[libc++] Update status of P2770R0, P2441R2 and P2711R1 (#70045)
JMazurkiewicz Oct 24, 2023
888f070
[Github] Add support for building libc docs in Github actions (#69824)
boomanaiden154 Oct 24, 2023
8244ff6
[BOLT] Fix incorrect basic block output addresses (#70000)
maksfb Oct 24, 2023
20020c1
[DAGCombiner] Fix misuse of getZeroExtendInReg in SimplifySelectCC. (…
topperc Oct 24, 2023
117041d
[NFC][SLP] Add test case for issue #69670. (#70088)
Oct 24, 2023
260dbb4
[mlir][sparse] add COO to python tests (#70090)
aartbik Oct 24, 2023
c780352
[mlir][sparse] implement sparse_tensor.lvl operation. (#69993)
PeimingLiu Oct 24, 2023
f8058a3
[mlir] Fix nvvm integration tests build error (#70113)
grypp Oct 24, 2023
bac3808
Reapply "[compiler-rt] Allow Fuchsia to use 64-bit allocator for RISC…
PiJoules Oct 24, 2023
1b11729
[AArch64][GlobalISel] Add support for post-indexed loads/stores. (#69…
aemerson Oct 24, 2023
14520fa
[OpenMP][MLIR] Use opaque pointers in OpenMP translation tests 1/2 (#…
kiranchandramohan Oct 24, 2023
b2accb9
[RISCV] Mark V0 regclasses as larger superclasses of non-V0 classes (…
lukel97 Oct 24, 2023
2f3d4f6
[clangd] Do not offer RawStringLiteral code action in C and C++98 (#6…
robozati Oct 24, 2023
3935a29
[clangd] Support `-stdlib` flags in SystemIncludeExtractor. (#69283)
cjc25 Oct 24, 2023
a3c6875
[SLP][NFC]Remove unused variables, NFC.
alexey-bataev Oct 24, 2023
567a660
[OpenMP 5.2] Initial parsing and semantic analysis suppport for 'step…
mdfazlay Sep 20, 2023
b4e5529
[libc] Fix printf long double inf, bitcast in msan (#70067)
michaelrj-google Oct 24, 2023
2f4328e
[GISel] Make assignValueToReg take CCValAssign by const reference. (#…
topperc Oct 24, 2023
cdcaef8
[RISCV][GISel] Add ISel support for SHXADD_UW and SLLI.UW (#69972)
mshockwave Oct 24, 2023
3324776
[SLP] Improve gather tree nodes matching when users are PHIs. (#70111)
Oct 24, 2023
2e3c62b
[mlir][tensor][NFC] Simplify `SubsetInsertionOpInterface` implementat…
matthias-springer Oct 24, 2023
2282af2
[libc] Disable -NaN test on float128 systems (#70146)
michaelrj-google Oct 24, 2023
05a4212
[builtins] Avoid using long double in generic sources (#69754)
arichardson Oct 25, 2023
b745ce9
[builtins] Revert accidental change to PPC implementation in 05a4212c…
arichardson Oct 25, 2023
ac24238
[LowerSwitch] Don't let pass manager handle the dependency (#68662)
ruiling Oct 25, 2023
0555c9a
[llvm][support] Show name of overlapping cl option (#70108)
makslevental Oct 25, 2023
69ade08
[RISCV][NFC] Fix comments in foldMemoryOperandImpl (#70033)
wangpc-pp Oct 25, 2023
e3cf80c
BlockFrequencyInfoImpl: Avoid big numbers, increase precision for sma…
MatzeB Oct 25, 2023
d72aa10
[ADT] Remove an extraneous ternary operator (NFC)
kazutakahirata Oct 25, 2023
1066481
[lldb-vscode] Allow specifying a custom escape prefix for LLDB comman…
walter-erquinigo Oct 25, 2023
cadcc7b
[Flang][OpenMP] Port OpenMP single tests to hlfir flow (#69877)
harishch4 Oct 25, 2023
f2441a0
[LoongArch] Set some operations action for LSX and LASX
wangleiat Oct 24, 2023
9abf3df
[ValueTracking] Analyze `Select` in `isKnownNonEqual`. (#68427)
mgudim Oct 25, 2023
fa19ef7
[mlir][python] Clear PyOperations instead of invalidating them. (#70044)
ingomueller-net Oct 25, 2023
f999e1d
[Flang][OpenMP] Replace fir.store with hlfir.assign in OpenMP single …
harishch4 Oct 25, 2023
f9306f6
[ADT] Rename llvm::erase_value to llvm::erase (NFC) (#70156)
kazutakahirata Oct 25, 2023
35d771f
[RISCV][GISel] Fix failure to legalize non-power of 2 shifts between …
topperc Oct 25, 2023
34af57c
[RISCV][GISel] Add G_SEXTLOAD to legalizer and regbank select. Add in…
topperc Oct 25, 2023
b6b0756
[flang] Allow lowering of sub-expressions to be overridden (#69944)
jeanPerier Oct 25, 2023
9ae11a5
[Driver] Add `--` to some test clang-cl command lines. (#70055)
statham-arm Oct 25, 2023
bf3a981
[MLIR] Properly add operations to blocks during `createOrFold` (#70010)
mortbopet Oct 25, 2023
8a1ce2d
[flang][codegen] Update FIR codegen to use mlir.llvm opaque pointers …
jeanPerier Oct 25, 2023
d25e0aa
[Sema] Fixed faulty shift count warning (#69521)
karka228 Oct 25, 2023
99c15eb
[mlir][transform] Handle multiple library preloading passes. (#69705)
ingomueller-net Oct 25, 2023
a770098
[lldb][AArch64] Correct type of 32 bit GPR RegisterValues when using …
DavidSpickett Oct 25, 2023
f2c09e5
[lldb][AArch64] Invalidate SVG prior to reconfiguring ZA regdef (#66768)
DavidSpickett Oct 25, 2023
0e27cbe
[RISCV] Run mem2reg to simplify Zbc tests (#70169)
wangpc-pp Oct 25, 2023
8d80a45
Revert "[lldb][AArch64] Invalidate SVG prior to reconfiguring ZA regd…
DavidSpickett Oct 25, 2023
7df92fb
[InstCombine] Remove redundant icmp gep fold (NFCI)
nikic Oct 25, 2023
3a39346
[InstCombine] Remove unnecessary typed pointer handling (NFC)
nikic Oct 25, 2023
1d10369
Reland "[lldb][AArch64] Invalidate SVG prior to reconfiguring ZA regd…
DavidSpickett Oct 25, 2023
4baeed8
[InstCombine] Remove unnecessary handling of non-canonical predicates…
nikic Oct 25, 2023
b81bfea
[llvm][TableGen] Add a README to the main TableGen folder (#69943)
DavidSpickett Oct 25, 2023
26e35b0
[mlir][NFC] Move `foldAttributesIntoMap` to `IR` build unit (#70155)
matthias-springer Oct 25, 2023
f386045
[InstCombine] Test extra and use in processUMulZExtIdiom() fold (NFC)
nikic Oct 25, 2023
d8abce1
[lldb][AArch64] Read mte_ctrl register from core files (#69689)
DavidSpickett Oct 25, 2023
e7012ba
[lldb][AArch64] Add isAArch64SMEFA64 check to SME testing (#68094)
DavidSpickett Oct 25, 2023
ff67b68
[lldb] On POSIX, check for duplicate interpreter modules without load…
DavidSpickett Oct 25, 2023
ab7e8b7
[mlir][tosa] fix a crash when sliceOp has invalid attribute (#68486) …
lipracer Oct 25, 2023
061d978
[mlir][test] Update tests to use vector.print str (NFC) (#68973)
MacDue Oct 25, 2023
82aeedc
[InstCombine] Remove unnecessary eq/ne handling from processUMulZExtI…
nikic Oct 25, 2023
5640d28
[AArch64] Add test showing incorrect code-gen
ostannard Oct 25, 2023
c912f88
[InstCombine] Remove false commutativity from processUMulZExtIdiom() …
nikic Oct 25, 2023
2399c77
[Clang][DebugInfo] Clang generates an extra spurious unnamed 'dbg.dec…
CarlosAlbertoEnciso Oct 25, 2023
419c6da
[mlir][LLVM] Verify too many indices in GEP verifier (#70174)
zero9178 Oct 25, 2023
7e8eccd
[AArch64] Move SLS later in pass pipeline
ostannard Oct 25, 2023
c249e27
[RISCV] Add missing break in switch-case in convertToThreeAddress fun…
tclin914 Oct 25, 2023
9d35387
[AArch64] Disable by default MachineSink sink-and-fold (#70101)
momchil-velikov Oct 25, 2023
c82ebfb
Revert "[AMDGPU] Accept arbitrary sized sources in CalculateByteProvi…
jayfoad Oct 25, 2023
dddd0c2
[lldb][AArch64] Simplify AArch64SMEFA64 check
DavidSpickett Oct 25, 2023
6242c8c
[flang] add TBAA tags to global and direct variables
tblah Oct 9, 2023
5efa84c
[clang-format] Don't align comments over scopes
HazardyKnusperkeks Oct 25, 2023
3ab03ad
[SelectionDAG] Salvage debug info for non-constant ADDs (#68981)
dstenb Oct 25, 2023
f7fc98a
[OpenMP][Archer] Do not check for column numbers in backtraces (#70075)
iii-i Oct 25, 2023
c4e9a43
[libc] Fix a constexpr violation from b4e552999de518a1d006c7b84f94491…
d0k Oct 25, 2023
6d66440
[LLD] [MinGW] Hook up --icf=safe to -opt:safeicf (#70037)
mstorsjo Oct 25, 2023
66f4a13
[C23] Use thread_local semantics (#70107)
AaronBallman Oct 25, 2023
69209e3
[clang-format] AllowShortCompoundRequirementOnASingleLine
Backl1ght Oct 25, 2023
d1e3d32
[AMDGPU][NFCI] Decouple actual register encodings from HWEncoding val…
kosarev Oct 25, 2023
a8913f8
[X86] Regenerate pr38539.ll
RKSimon Oct 25, 2023
c360ce0
[Flang][OpenMP] NFC: Copy target test to HLFIR flow
kiranchandramohan Oct 25, 2023
23d6a6d
[clang-format] Fix the version for a newly added option
owenca Oct 25, 2023
9104e82
[SystemZ][NFC] Fix a couple of style issues (#69958)
redstar Oct 25, 2023
42c25fd
[lldb][docs][AArch64] Update example in SME docs
DavidSpickett Oct 25, 2023
078ae8c
[Offloading][NFC] Move creation of offloading entries from OpenMP (#7…
jhuber6 Oct 25, 2023
6c0ceae
[NFC][Clang] Make GetSDLFromOffloadArchive and SDLSearch static (#70201)
jmmartinez Oct 25, 2023
80db833
[tooling/include-mapping] Add missing localtime_r symbols (#66091)
hokein Oct 25, 2023
2005f48
[clang][NFC] Refactor `Selector` to use `PointerIntPair` inside (#69916)
Endilll Oct 25, 2023
d9cfb82
[AArch64] Add test for #70207 (NFC)
nikic Oct 25, 2023
2f055dd
[mlir][ArmSME] Add tile slice layout attr to vector <-> tile ops (#69…
c-rhodes Oct 25, 2023
6b25890
Revert "[SelectionDAG] Salvage debug info for non-constant ADDs (#689…
dstenb Oct 25, 2023
ac534d2
[X86] combineArithReduction - use PACKUSWB directly for PSADBW(TRUNCA…
RKSimon Oct 25, 2023
7c94603
[NFC][Clang] Make read-only arguments of GetSDLFromOffloadArchive and…
jmmartinez Oct 19, 2023
6687c57
[NFC][Clang] Make GetSDLFromOffloadArchive return void
jmmartinez Oct 25, 2023
00b7979
[clang][analyzer][NFC] Combine similar methods of StreamChecker (#70170)
benshi001 Oct 25, 2023
d1f5954
[clang][dataflow] Add `Environment::allows()`. (#70046)
martinboehme Oct 25, 2023
2dea7bd
[AArch64][GlobalISel] Legalize NEON smin,smax,umin,umax,fmin,fmax int…
dzhidzhoev Oct 24, 2023
53705dd
[clang]improve diagnosing redefined defaulted constructor with differ…
HerrCai0907 Oct 25, 2023
62ae549
[flang][openacc] Add implicit copy for reduction in combined construc…
razvanlupusoru Oct 25, 2023
84d8ace
[OpenMP][Obvious] Fix function prototype when used in C mode
jhuber6 Oct 25, 2023
08e7653
[bazel] Port 078ae8cd64b44f2ead538c45cf7fb4c4b63fdcaa
d0k Oct 25, 2023
28a8f1b
[bazel] Add missing dependency
d0k Oct 25, 2023
cc2fbc6
[CodeLayout] Faster basic block reordering, ext-tsp (#68617)
spupyrev Oct 25, 2023
22f1217
[SelectionDAG] Salvage debug info for non-constant ADDs (2nd try) (#6…
dstenb Oct 25, 2023
ea99df2
[InstCombine] Rename some variables (NFC)
nikic Oct 25, 2023
bbab5e4
[MLIR][OpenMP] Use opaque pointers in OpenMP translation tests 2/2 (#…
kiranchandramohan Oct 25, 2023
a12d057
[mlir][sparse] update block24 example (#70145)
aartbik Oct 25, 2023
3a2b39d
Merge from 'sycl' to 'sycl-web'
Oct 25, 2023
8e00d59
[clang] Remove redundant ptr-to-ptr bitcasts (NFC)
JOE1994 Oct 25, 2023
8c8336f
Add missing `linalg.batch_vecmat` named op (#70218)
bjacob Oct 25, 2023
9bdeab1
[LinkerWrapper][Obvious] Fix dangling stringref on Xcuda-ptxas options
jhuber6 Oct 25, 2023
8a181f4
[OpenMP][Obvious] Fix incompatbile function prototype causing failures
jhuber6 Oct 25, 2023
2d292ab
[llvm] Followup fix for "Use XMACROS for MachO platforms" (#70140)
ributzka Oct 25, 2023
c9c9bf0
[DAG] WidenVectorOperand - add basic handling for *_EXTEND_VECTOR_INR…
RKSimon Oct 25, 2023
cd29e19
[Sema] -Wzero-as-null-pointer-constant: don't warn for __null (#69126)
zeux Oct 25, 2023
e696379
[RISCV][GISel] Falling back to SDISel for scalable vector type values…
mshockwave Oct 25, 2023
aa30018
SLP/RISCV: add negative test for llrint, increase coverage (#69940)
artagnon Oct 25, 2023
7dad7ab
Scalarizer: add negative test for lrint, llrint (#70203)
artagnon Oct 25, 2023
9d712d2
[MLIR][pass registry] show overlapping pass pipeline name (#70167)
makslevental Oct 25, 2023
7f76a30
Merge from 'main' to 'sycl-web' (151 commits)
maarquitos14 Oct 25, 2023
7ce613f
[AMDGPU] Cleanup hasUnwantedEffectsWhenEXECEmpty function (#70206)
cdevadas Oct 25, 2023
f22d82c
[lldb/Interpreter] Make ScriptedInterface Object creation more generi…
medismailben Oct 25, 2023
2602667
Merge from 'sycl' to 'sycl-web' (5 commits)
Oct 25, 2023
c60bd0e
[X86] Regenerate select-mmx.ll
RKSimon Oct 25, 2023
b8e0693
[Clang] Ensure zero-init is not overridden when initializing a base c…
shafik Oct 25, 2023
8efd679
[RISCV][GISel] Add clampScalar G_ZEXTLOAD/G_SEXTLOAD legalization rules.
topperc Oct 25, 2023
ca3545f
[Libomptarget] Bump up PTX version from +ptx61 to +ptx63 (#70227)
jhuber6 Oct 25, 2023
7b8e686
[lldb] Fix build failure introduced by f22d82c
medismailben Oct 25, 2023
0e4264a
[lldb][libc++] Adds chrono data formatters.
mordante Aug 29, 2023
8715600
[AMDGPU] Set SchedRW = Write64Bit on V_MOV_B64 (#70135)
rampitec Oct 25, 2023
7e34ee5
Update stdckdint.h and make it available in pre-C23 modes. (#69649)
ZijunZhaoCCK Oct 25, 2023
674b53d
[RISCV][GISel] Add widenScalarToNextPow2 to G_SEXTLOAD/G_ZEXTLOAD leg…
topperc Oct 25, 2023
c362cc2
[mlgo][regalloc] Fix reference file post e3cf80c
mtrofin Oct 25, 2023
eb1d800
Merge from 'main' to 'sycl-web' (8 commits)
fineg74 Oct 25, 2023
8b32289
[libclang/python] Add missing concept declaration CursorKind (#69125)
VelocityRa Oct 25, 2023
7fde4ff
[Mips][GISel] Fix a couple issues with passing f64 in 32-bit GPRs. (#…
topperc Oct 25, 2023
4d80e93
[RISCV] Remove RISCVISD opcodes for LGA, LA_TLS_IE, and LA_TLS_GD. (#…
topperc Oct 25, 2023
d0584e2
[CodeLayout] Update to resolve Wdangling warning.
alinas Oct 25, 2023
94aaaf4
Update m68k tests to new block placement
MatzeB Oct 25, 2023
20d2102
[clang-tidy] Ignore deleted functions in cppcoreguidelines-rvalue-ref…
PiotrZSL Oct 25, 2023
d4e6e40
Improve debug names index fetching global variables performance (#70231)
jeffreytan81 Oct 25, 2023
006cd37
[OpenMP][Obvious] Fix incorrect variant selector in test
jhuber6 Oct 25, 2023
01ac180
[mlir][nvvm] Fix mov.u32 to mov.pred (#70027)
grypp Oct 25, 2023
ced9f4f
[MLIR] Modify lowering of gpu.alloc op to llvm (#69969)
nbpatel Oct 25, 2023
0ab6947
[clang] Fix trailing whitespace in DiagnosticParseKinds.td
jrtc27 Oct 25, 2023
0fc8f0b
[CMake] Correctly handle LLVM_ENABLE_RUNTIMES in targets (#69869)
petrhosek Oct 25, 2023
e3d2a7d
[libc] Compile the GPU functions with '-fconvergent-functions' (#70229)
jhuber6 Oct 25, 2023
17b5445
[Libomptarget] Add a wavefront sync builtin for the AMDGPU implementa…
jhuber6 Oct 25, 2023
d32e801
[RISCV][GISel] Add FP calling convention support (#69138)
topperc Oct 25, 2023
da27c25
[LLVM[NFC] Refactor to allow debug_names entries to conatain DIE offs…
ayermolo Oct 25, 2023
da1736e
[RISCV][GISel] Add legalizer support for G_FADD/G_FSUB/G_FMUL/G_FDIV …
topperc Oct 25, 2023
b379520
[RISCV][GISel] Add missing using LegalityPredicates.
topperc Oct 25, 2023
c2b64df
[RISCV][GISel] Add regbank selection for G_FADD/G_FSUB/G_FMUL/G_FDIV …
topperc Oct 25, 2023
77edd9b
[lldb] Refactor InstrumentationRuntimeAsan and add a new plugin (#69388)
usama54321 Oct 25, 2023
3c2203a
[RISCV] Use a switch instead of a series of if-clauses [nfc]
preames Oct 25, 2023
0a8f54c
[X86][GlobalISel] Add legalization of 64-bit G_ICMP for i686 (#69478)
e-kud Oct 25, 2023
29181bd
Revert "[RISCV] Use a switch instead of a series of if-clauses [nfc]"
preames Oct 25, 2023
716c022
[RISCV][GISel] Add instruction selection for G_FADD/G_FSUB/G_FMUL/G_F…
topperc Oct 25, 2023
ca8d02d
[RISCV] Use a switch instead of a series of if-clauses [nfc] (try 2)
preames Oct 25, 2023
8958f0d
[Driver][test] Improve mcmodel.c
MaskRay Oct 25, 2023
7e83a1a
[mlir][sparse] add verification of absent value in sparse_tensor.unar…
aartbik Oct 25, 2023
3dbcd73
[flang][NFC] Update comment to be generic
clementval Oct 25, 2023
740582f
[mlir][sparse] test for linalg tensor semantics (#70254)
aartbik Oct 25, 2023
4c60c0c
[LowerMemIntrinsics] Remove no-op ptr-to-ptr bitcasts (NFC)
JOE1994 Oct 25, 2023
94ed99a
[gn build] Manually port 078ae8cd
aeubanks Oct 25, 2023
a1b4238
[clang][deps] Fix `__has_include` behavior with umbrella headers (#70…
jansvoboda11 Oct 25, 2023
10508b6
[LLDB][NFC] Remove DWARFASTParserClang as friend from SymbolFileDWARF…
walter-erquinigo Oct 25, 2023
78dcd01
Improve CI output. (#70236)
EricWF Oct 25, 2023
9237ce4
[OpenMP 5.2] Deprecate old syntax of linear clause (#70152)
mdfazlay Oct 25, 2023
c9ca2fe
[AMDGPU] Fix gcc -Wparentheses warning. NFC (#70239)
topperc Oct 25, 2023
463a02b
[lldb] Part 1 of 2 - Refactor `CommandObject::Execute(...)` return `v…
PortalPete Oct 25, 2023
dfa3570
[lldb] Add test dependency on the `runtimes` instead of the `cxx` target
JDevlieghere Oct 25, 2023
b82c629
Fix log format strings
adrian-prantl Oct 25, 2023
7523b89
[llvm] Remove no-op ptr-to-ptr bitcasts (NFC)
JOE1994 Oct 25, 2023
265ed68
[clang-format] Fix a JavaScript import order bug
owenca Oct 25, 2023
109aa58
[RISCV] Add an experimental pseudoinstruction to represent a remateri…
topperc Oct 26, 2023
a3e5c94
[gn build] Port 109aa586f073
llvmgnsyncbot Oct 26, 2023
2abf997
[lldb] Fix assertions caused by un-checked errors in ScriptedProcess
medismailben Oct 26, 2023
04ca1b6
[clang-tidy]fix misc-unused-using-decls false positive false for usin…
HerrCai0907 Oct 26, 2023
d8a5215
[mlir][doc] Slightly clarify bufferization documentation (#70212)
rikhuijzer Oct 26, 2023
44193a0
[TableGen][NFC] Format CompressInstEmitter (#68564)
wangpc-pp Oct 26, 2023
f09f58d
[OpenMP] [OMPD] Fix CMake install command
yuanfang-chen Oct 26, 2023
f40ed13
[Driver] Use StringSet::contains (NFC)
kazutakahirata Oct 26, 2023
76dea22
[mlir][doc] Improve Destination-passing-style documentation (#70283)
joker-eph Oct 26, 2023
2e2011d
[mlir][sparse] avoid excessive macro magic (#70276)
aartbik Oct 26, 2023
fa18827
[Driver] Remove some misused NoXarchOption
MaskRay Oct 26, 2023
652a40e
Merge from 'sycl' to 'sycl-web'
Oct 26, 2023
b05e2dd
Merge from 'main' to 'sycl-web' (88 commits)
maarquitos14 Oct 26, 2023
711d9ea
[Github] Add lld to docs CI (#69821)
boomanaiden154 Oct 26, 2023
c5be48f
[Github] Fix libc docs build (#70363)
jsji Oct 26, 2023
e8bb014
Disable a variable length array error to resolve test failure
fineg74 Oct 26, 2023
56989e6
[SYCL][TEST] Generate GCH with PchSignature instead of empty file
jsji Oct 26, 2023
0d7241a
[CI][Docs] install the official requirements
sys-ce-bb Oct 26, 2023
49eb0e3
Revert "[SYCL][CUDA] Xfail ext-native-math.cpp test. (#11580)"
jsji Oct 27, 2023
e7c0b89
[SYCL][DOC] set myst implicit targets setting
jsji Oct 27, 2023
edccb9b
[SYCL][DOC] Fix warnings after upgrading sphinx
jsji Oct 27, 2023
68e765c
[SYCL][TEST] Fix variable length array warning/notes
jsji Oct 27, 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
  •  
  •  
  •  
91 changes: 78 additions & 13 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,60 @@ on:
paths:
- 'llvm/docs/**'
- 'clang/docs/**'
- 'clang-tools-extra/docs/**'
- 'lldb/docs/**'
- 'libunwind/docs/**'
- 'libcxx/docs/**'
- 'libc/docs/**'
- 'lld/docs/**'
pull_request:
paths:
- 'llvm/docs/**'
- 'clang/docs/**'
- 'clang-tools-extra/docs/**'
- 'lldb/docs/**'
- 'libunwind/docs/**'
- 'libcxx/docs/**'
- 'libc/docs/**'
- 'lld/docs/**'

jobs:
check-docs-build:
name: "Test documentation build"
runs-on: ubuntu-latest
steps:
- name: Fetch LLVM sources
# Don't fetch before checking for file changes to force the file changes
# action to use the Github API in pull requests. If it's a push to a
# branch we can't use the Github API to get the diff, so we need to have
# a local checkout beforehand.
- name: Fetch LLVM sources (Push)
if: ${{ github.event_name == 'push' }}
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Get subprojects that have doc changes
id: docs-changed-subprojects
uses: tj-actions/changed-files@v39
with:
files_yaml: |
llvm:
- 'llvm/docs/**'
clang:
- 'clang/docs/**'
clang-tools-extra:
- 'clang-tools-extra/docs/**'
lldb:
- 'lldb/docs/**'
libunwind:
- 'libunwind/docs/**'
libcxx:
- 'libcxx/docs/**'
libc:
- 'libc/docs/**'
lld:
- 'lld/docs/**'
- name: Fetch LLVM sources (PR)
if: ${{ github.event_name == 'pull_request' }}
uses: actions/checkout@v4
with:
fetch-depth: 1
Expand All @@ -40,24 +83,46 @@ jobs:
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build
- name: Get subprojects that have doc changes
id: docs-changed-subprojects
uses: tj-actions/changed-files@v39
with:
files_yaml: |
llvm:
- 'llvm/docs/**'
clang:
- 'clang/docs/**'
# swig and graphviz are lldb specific dependencies
sudo apt-get install -y cmake ninja-build swig graphviz
- name: Build LLVM docs
if: steps.docs-changed-subprojects.outputs.llvm_any_changed == 'true'
run: |
cmake -B llvm-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_SPHINX=ON -DSPHINX_OUTPUT_HTML=ON -DSPHINX_OUTPUT_MAN=ON ./llvm
cmake -B llvm-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_SPHINX=ON ./llvm
TZ=UTC ninja -C llvm-build docs-llvm-html docs-llvm-man
- name: Build Clang docs
if: steps.docs-changed-subprojects.outputs.clang_any_changed == 'true'
run: |
cmake -B clang-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_ENABLE_SPHINX=ON -DSPHINX_OUTPUT_HTML=ON -DSPHINX_OUTPUT_MAN=ON ./llvm
cmake -B clang-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_ENABLE_SPHINX=ON ./llvm
TZ=UTC ninja -C clang-build docs-clang-html docs-clang-man
- name: Build clang-tools-extra docs
if: steps.docs-changed-subprojects.outputs.clang-tools-extra_any_changed == 'true'
run: |
cmake -B clang-tools-extra-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" -DLLVM_ENABLE_SPHINX=ON ./llvm
TZ=UTC ninja -C clang-tools-extra-build docs-clang-tools-html docs-clang-tools-man
- name: Build LLDB docs
if: steps.docs-changed-subprojects.outputs.lldb_any_changed == 'true'
run: |
cmake -B lldb-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;lldb" -DLLVM_ENABLE_SPHINX=ON ./llvm
TZ=UTC ninja -C lldb-build docs-lldb-html docs-lldb-man
- name: Build libunwind docs
if: steps.docs-changed-subprojects.outputs.libunwind_any_changed == 'true'
run: |
cmake -B libunwind-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RUNTIMES="libunwind" -DLLVM_ENABLE_SPHINX=ON ./runtimes
TZ=UTC ninja -C libunwind-build docs-libunwind-html
- name: Build libcxx docs
if: steps.docs-changed-subprojects.outputs.libcxx_any_changed == 'true'
run: |
cmake -B libcxx-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" -DLLVM_ENABLE_SPHINX=ON ./runtimes
TZ=UTC ninja -C libcxx-build docs-libcxx-html
- name: Build libc docs
if: steps.docs-changed-subprojects.outputs.libc_any_changed == 'true'
run: |
cmake -B libc-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RUNTIMES="libc" -DLLVM_ENABLE_SPHINX=ON ./runtimes
TZ=UTC ninja -C libc-build docs-libc-html
- name: Build LLD docs
if: steps.docs-changed-subprojects.outputs.lld_any_changed == 'true'
run: |
cmake -B lld-build -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="lld" -DLLVM_ENABLE_SPHINX=ON ./llvm
TZ=UTC ninja -C lld-build docs-lld-html

2 changes: 1 addition & 1 deletion .github/workflows/gh_pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Install deps
run: |
sudo apt-get install -y doxygen graphviz ssh ninja-build
sudo pip3 install 'sphinx==4.2.0' 'myst-parser==0.15.1' 'recommonmark==0.7.1'
sudo pip3 install -r repo/llvm/docs/requirements.txt
- name: Build Docs
run: |
mkdir -p $GITHUB_WORKSPACE/build
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/libcxx-check-generated-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
paths:
- 'libcxx/**'

permissions:
contents: read

jobs:
check_generated_files:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
./llvm/utils/release/github-upload-release.py --token ${{ github.token }} --release ${{ steps.validate-tag.outputs.release-version }} upload --files ./*doxygen*.tar.xz

- name: Create Release Notes Artifact
uses: actions/download-artifact@v3
uses: actions/upload-artifact@v3
with:
name: release-notes
path: docs-build/html-export/
Expand Down
50 changes: 35 additions & 15 deletions bolt/include/bolt/Core/AddressMap.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,16 @@
//
//===----------------------------------------------------------------------===//
//
// Helper class to create a mapping from input to output addresses needed for
// updating debugging symbols and BAT. We emit an MCSection containing
// <Input address, Output MCSymbol> pairs to the object file and JITLink will
// transform this in <Input address, Output address> pairs. The linker output
// can then be parsed and used to establish the mapping.
// This file contains the declaration of the AddressMap class used for looking
// up addresses in the output object.
//
//===----------------------------------------------------------------------===//
//

#ifndef BOLT_CORE_ADDRESS_MAP_H
#define BOLT_CORE_ADDRESS_MAP_H

#include "llvm/ADT/StringRef.h"
#include "llvm/MC/MCSymbol.h"

#include <optional>
#include <unordered_map>
Expand All @@ -30,26 +28,48 @@ namespace bolt {

class BinaryContext;

/// Helper class to create a mapping from input entities to output addresses
/// needed for updating debugging symbols and BAT. We emit a section containing
/// <Input entity, Output MCSymbol> pairs to the object file and JITLink will
/// transform this in <Input entity, Output address> pairs. The linker output
/// can then be parsed and used to establish the mapping.
///
/// The entities that can be mapped to output address are input addresses and
/// labels (MCSymbol). Input addresses support one-to-many mapping.
class AddressMap {
using MapTy = std::unordered_multimap<uint64_t, uint64_t>;
MapTy Map;
static const char *const AddressSectionName;
static const char *const LabelSectionName;

public:
static const char *const SectionName;
/// Map multiple <input address> to <output address>.
using Addr2AddrMapTy = std::unordered_multimap<uint64_t, uint64_t>;
Addr2AddrMapTy Address2AddressMap;

/// Map MCSymbol to its output address. Normally used for temp symbols that
/// are not updated by the linker.
using Label2AddrMapTy = DenseMap<const MCSymbol *, uint64_t>;
Label2AddrMapTy Label2AddrMap;

public:
static void emit(MCStreamer &Streamer, BinaryContext &BC);
static AddressMap parse(StringRef Buffer, const BinaryContext &BC);
static std::optional<AddressMap> parse(BinaryContext &BC);

std::optional<uint64_t> lookup(uint64_t InputAddress) const {
auto It = Map.find(InputAddress);
if (It != Map.end())
auto It = Address2AddressMap.find(InputAddress);
if (It != Address2AddressMap.end())
return It->second;
return std::nullopt;
}

std::optional<uint64_t> lookup(const MCSymbol *Symbol) const {
auto It = Label2AddrMap.find(Symbol);
if (It != Label2AddrMap.end())
return It->second;
return std::nullopt;
}

std::pair<MapTy::const_iterator, MapTy::const_iterator>
std::pair<Addr2AddrMapTy::const_iterator, Addr2AddrMapTy::const_iterator>
lookupAll(uint64_t InputAddress) const {
return Map.equal_range(InputAddress);
return Address2AddressMap.equal_range(InputAddress);
}
};

Expand Down
9 changes: 1 addition & 8 deletions bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -1721,14 +1721,7 @@ class BinaryFunction {
// Align data in code BFs minimum to CI alignment
if (!size() && hasIslandsInfo())
return getConstantIslandAlignment();

// Minimal code alignment on AArch64 and RISCV is 4
if (BC.isAArch64() || BC.isRISCV())
return 4;

// We have to use at least 2-byte alignment for functions because
// of C++ ABI.
return 2;
return BC.MIB->getMinFunctionAlignment();
}

Align getMinAlign() const { return Align(getMinAlignment()); }
Expand Down
6 changes: 6 additions & 0 deletions bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -2077,6 +2077,12 @@ class MCPlusBuilder {
return BlocksVectorTy();
}

virtual uint16_t getMinFunctionAlignment() const {
// We have to use at least 2-byte alignment for functions because of C++
// ABI.
return 2;
}

// AliasMap caches a mapping of registers to the set of registers that
// alias (are sub or superregs of itself, including itself).
std::vector<BitVector> AliasMap;
Expand Down
94 changes: 74 additions & 20 deletions bolt/lib/Core/AddressMap.cpp
Original file line number Diff line number Diff line change
@@ -1,22 +1,44 @@
//===- bolt/Core/AddressMap.cpp - Input-output Address Map ----------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "bolt/Core/AddressMap.h"
#include "bolt/Core/BinaryContext.h"
#include "bolt/Core/BinaryFunction.h"
#include "bolt/Core/BinarySection.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/Support/DataExtractor.h"

namespace llvm {
namespace bolt {

const char *const AddressMap::SectionName = ".bolt.address_map";
const char *const AddressMap::AddressSectionName = ".bolt.addr2addr_map";
const char *const AddressMap::LabelSectionName = ".bolt.label2addr_map";

static void emitLabel(MCStreamer &Streamer, uint64_t InputAddress,
const MCSymbol *OutputLabel) {
static void emitAddress(MCStreamer &Streamer, uint64_t InputAddress,
const MCSymbol *OutputLabel) {
Streamer.emitIntValue(InputAddress, 8);
Streamer.emitSymbolValue(OutputLabel, 8);
}

static void emitLabel(MCStreamer &Streamer, const MCSymbol *OutputLabel) {
Streamer.emitIntValue(reinterpret_cast<uint64_t>(OutputLabel), 8);
Streamer.emitSymbolValue(OutputLabel, 8);
}

void AddressMap::emit(MCStreamer &Streamer, BinaryContext &BC) {
Streamer.switchSection(BC.getDataSection(SectionName));
// Mark map sections as link-only to avoid allocation in the output file.
const unsigned Flags = BinarySection::getFlags(/*IsReadOnly*/ true,
/*IsText*/ false,
/*IsAllocatable*/ true);
BC.registerOrUpdateSection(AddressSectionName, ELF::SHT_PROGBITS, Flags)
.setLinkOnly();
BC.registerOrUpdateSection(LabelSectionName, ELF::SHT_PROGBITS, Flags)
.setLinkOnly();

for (const auto &[BFAddress, BF] : BC.getBinaryFunctions()) {
if (!BF.requiresAddressMap())
Expand All @@ -26,37 +48,69 @@ void AddressMap::emit(MCStreamer &Streamer, BinaryContext &BC) {
if (!BB.getLabel()->isDefined())
continue;

emitLabel(Streamer, BFAddress + BB.getInputAddressRange().first,
BB.getLabel());
Streamer.switchSection(BC.getDataSection(LabelSectionName));
emitLabel(Streamer, BB.getLabel());

if (!BB.hasLocSyms())
continue;

Streamer.switchSection(BC.getDataSection(AddressSectionName));
for (auto [Offset, Symbol] : BB.getLocSyms())
emitLabel(Streamer, BFAddress + Offset, Symbol);
emitAddress(Streamer, BFAddress + Offset, Symbol);
}
}
}

AddressMap AddressMap::parse(StringRef Buffer, const BinaryContext &BC) {
const auto EntrySize = 2 * BC.AsmInfo->getCodePointerSize();
assert(Buffer.size() % EntrySize == 0 && "Unexpected address map size");
std::optional<AddressMap> AddressMap::parse(BinaryContext &BC) {
auto AddressMapSection = BC.getUniqueSectionByName(AddressSectionName);
auto LabelMapSection = BC.getUniqueSectionByName(LabelSectionName);

DataExtractor DE(Buffer, BC.AsmInfo->isLittleEndian(),
BC.AsmInfo->getCodePointerSize());
DataExtractor::Cursor Cursor(0);
if (!AddressMapSection && !LabelMapSection)
return std::nullopt;

AddressMap Parsed;
Parsed.Map.reserve(Buffer.size() / EntrySize);

while (Cursor && !DE.eof(Cursor)) {
const auto Input = DE.getAddress(Cursor);
const auto Output = DE.getAddress(Cursor);
if (!Parsed.Map.count(Input))
Parsed.Map.insert({Input, Output});
const size_t EntrySize = 2 * BC.AsmInfo->getCodePointerSize();
auto parseSection =
[&](BinarySection &Section,
function_ref<void(uint64_t, uint64_t)> InsertCallback) {
StringRef Buffer = Section.getOutputContents();
assert(Buffer.size() % EntrySize == 0 && "Unexpected address map size");

DataExtractor DE(Buffer, BC.AsmInfo->isLittleEndian(),
BC.AsmInfo->getCodePointerSize());
DataExtractor::Cursor Cursor(0);

while (Cursor && !DE.eof(Cursor)) {
const uint64_t Input = DE.getAddress(Cursor);
const uint64_t Output = DE.getAddress(Cursor);
InsertCallback(Input, Output);
}

assert(Cursor && "Error reading address map section");
BC.deregisterSection(Section);
};

if (AddressMapSection) {
Parsed.Address2AddressMap.reserve(AddressMapSection->getOutputSize() /
EntrySize);
parseSection(*AddressMapSection, [&](uint64_t Input, uint64_t Output) {
if (!Parsed.Address2AddressMap.count(Input))
Parsed.Address2AddressMap.insert({Input, Output});
});
}

if (LabelMapSection) {
Parsed.Label2AddrMap.reserve(LabelMapSection->getOutputSize() / EntrySize);
parseSection(*LabelMapSection, [&](uint64_t Input, uint64_t Output) {
assert(!Parsed.Label2AddrMap.count(
reinterpret_cast<const MCSymbol *>(Input)) &&
"Duplicate label entry detected.");
Parsed.Label2AddrMap.insert(
{reinterpret_cast<const MCSymbol *>(Input), Output});
});
}

assert(Cursor && "Error reading address map section");
return Parsed;
}

Expand Down
Loading