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 (WW09 2024) #12868

Merged
merged 551 commits into from
Mar 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
551 commits
Select commit Hold shift + click to select a range
8779cf6
Pre-commit test showing bug #80287
ostannard Feb 23, 2024
749384c
[ARM] Update IsRestored for LR based on all returns (#82745)
ostannard Feb 26, 2024
76dd4bc
[RemoveDIs] Add iterator-taking constructors and Create methods (#82778)
jmorse Feb 26, 2024
f290c00
[TBAA] Add additional bitfield tests.
fhahn Feb 26, 2024
433f8e7
MachineSSAUpdater: use all vreg attributes instead of reg class only …
petar-avramovic Feb 26, 2024
58aa995
[clang][Interp][NFC] Fix comment typo
tbaederr Feb 26, 2024
a35599b
[clang][Interp] Implement a few _is_lock_free builtins
tbaederr Feb 26, 2024
60e7ae3
[AMDGPU] Only try DecoderTables for the current subtarget. NFCI. (#82…
jayfoad Feb 26, 2024
96e536e
[clang][NFC] Prefer usings over typedefs (#82920)
steakhal Feb 26, 2024
c4e9463
Revert "[clang][dataflow] Correctly handle `InitListExpr` of union ty…
bazuzi Feb 26, 2024
d41615e
[AMDGPU] Rename a DS class template argument. NFC.
jayfoad Feb 26, 2024
9c5ca6b
Revert "Enable JumpTableToSwitch pass by default (#82546)"
DavidSpickett Feb 26, 2024
046682e
[clang-format] Add AlignConsecutiveTableGenCondOperatorColons option.…
hnakamura5 Feb 26, 2024
440b174
[APINotes] Upstream Sema logic to apply API Notes to decls
egorzhdan Feb 26, 2024
285bff3
[lldb][test][Windows] Skip thread state test on Windows
DavidSpickett Feb 26, 2024
8ce81e5
[lldb][test][Windows] Don't assert that module cache is empty
DavidSpickett Feb 26, 2024
668cd1c
[OpenACC] Implement 'return' branch-out of Compute Construct (#82814)
erichkeane Feb 26, 2024
7c52d0c
[clang][Interp] Try to atomic.c on Mac
tbaederr Feb 26, 2024
ce78dfa
[gn build] Port 28233408a2c8
llvmgnsyncbot Feb 26, 2024
62e88bc
[gn build] Port 440b1743ee0c
llvmgnsyncbot Feb 26, 2024
f887fad
[gn build] Port 8c5e9cf73713
llvmgnsyncbot Feb 26, 2024
ac86a76
[libc][NFC] Delete unused file (#82980)
gchatelet Feb 26, 2024
83feb84
[AMDGPU] Reduce duplication in DS Real instruction definitions. NFC. …
jayfoad Feb 26, 2024
9cfb138
[Clang][Sema] Defer instantiation of exception specification until af…
sdkrystian Feb 26, 2024
969d7ec
[llvm][CodeGen] Add ValueType v3i1. [NFCI] (#82338)
fpetrogalli Feb 26, 2024
1253e53
[RemoveDIs] Use iterators for moving PHIs in loop-unroll-and-jam (#83…
jmorse Feb 26, 2024
b504870
[clang][Interp] Fix lvalue CompoundLiteralExprs
tbaederr Feb 26, 2024
252f1cd
[lldb][test] Remove vendored packages `unittest2` and `progress` (#82…
rupprecht Feb 26, 2024
264d828
[clang][Interp][NFC] Redo returning values from builtin functions
tbaederr Feb 26, 2024
f540044
[NVPTX][AMDGPU][CodeGen] Fix `local_space nullptr` handling for NVPTX…
mmoadeli Feb 26, 2024
ebb64d8
[GlobalISel] Make the Combiner insert G_FREEZE when converting G_SELE…
resistor Feb 26, 2024
c27d708
[clang][test] Undo an accidental test change
tbaederr Feb 26, 2024
2730a5c
[clang][dataflow] Skip array types when handling InitListExprs. (#83013)
bazuzi Feb 26, 2024
b2ebd8b
clang serialization unittests: fix some leaks (#82773)
krasimirgg Feb 26, 2024
82acec1
[HLSL] Implementation of dot intrinsic (#81190)
farzonl Feb 26, 2024
45732b6
[mlir][Transforms] Fix compile time regression in dialect conversion …
matthias-springer Feb 26, 2024
1d2eced
[llvm][docs] Update the Python version requirement to 3.8.0 for lit t…
tahonermann Feb 26, 2024
4bc3b35
[lld/ELF] Add documentation on large sections (#82560)
aeubanks Feb 26, 2024
f70d5c0
[libc][stdbit] implement stdc_count_zeros (C23) (#82437)
nickdesaulniers Feb 26, 2024
78275ef
[clang][Interp] Pick the right APInt constructor on Windows
tbaederr Feb 26, 2024
be02430
Thread safety analysis: provide printSCFG definition. (#80277)
hokein Feb 26, 2024
d8406d4
[libc][stdbit] implement stdc_count_ones (C23) (#82444)
nickdesaulniers Feb 26, 2024
e2d80a3
[flang][cuda] Make sure CUDA attribute are imported when using module…
clementval Feb 26, 2024
695b630
[ThinLTO] NFC: Merge duplicated functions together (#82421)
jansvoboda11 Feb 26, 2024
b876596
[Driver] Improve error when a compiler-rt library is not found (#81037)
MaskRay Feb 26, 2024
f9f3316
Replace ArchSpec::PiecewiseCompare() with Triple::operator==()
adrian-prantl Feb 23, 2024
01450dd
Change debugserver to report the cpu(sub)type of process, not the host.
adrian-prantl Feb 25, 2024
a4dcfbc
[OpenMP][AIX] XFAIL capacity tests on AIX in 32-bit (#83014)
xingxue-ibm Feb 26, 2024
9de78c4
AMDGPU: Simplify FP8 conversion definitions. NFC. (#83043)
changpeng Feb 26, 2024
3aec947
[libc][__support/memory_size] fix missing branch and add related test…
SchrodingerZhu Feb 26, 2024
0b39825
[RemoveDIs] Print non-intrinsic debug info in textual IR output (#79281)
SLTozer Feb 26, 2024
257cbea
[DAG] Format DAGCombiner::mayAlias. NFC
davemgreen Feb 26, 2024
f1bb88b
[RISCV] Use PromoteSetCCOperands to promote operands for UMAX/UMIN du…
topperc Feb 26, 2024
aeb53f7
Merge from 'sycl' to 'sycl-web'
Feb 26, 2024
dc06d75
Revert "[RemoveDIs] Print non-intrinsic debug info in textual IR outp…
SLTozer Feb 26, 2024
6398baa
[flang] Fixes for LIT testing of FLANG_RUNTIME_F128_MATH_LIB build. (…
vzakhari Feb 26, 2024
5cdb8c0
[mlir][vector] Add a pattern to fuse extract(constant_mask) (#81057)
Hsiangkai Feb 26, 2024
ce4740d
[Clang][Sema] Fix crash when MS dependent base class lookup occurs in…
sdkrystian Feb 26, 2024
1865c7e
[scudo] Store more blocks in each TransferBatch (#70390)
ChiaHungDuan Feb 26, 2024
911055e
[VPlan] Consistently use (Part, 0) for first lane scalar values (#80271)
fhahn Feb 26, 2024
3851558
[lldb] Remove LLDB_DEBUGSERVER_CODESIGN_IDENTITY (NFC)
JDevlieghere Feb 26, 2024
1f8b7e3
[libc++] Fix non-uglified name in scoped_allocator_adaptor (#80706)
ldionne Feb 26, 2024
deaf53e
[libc++][NFC] Reorder availability macros in introduction order (#82531)
ldionne Feb 26, 2024
9106759
Merge from 'main' to 'sycl-web' (383 commits)
jyu2-git Feb 26, 2024
5e6f50e
[libc++] Remove LIBCXX_EXECUTOR and LIBCXXABI_EXECUTOR (#79886)
ldionne Feb 26, 2024
7b66b5d
[mlir][Transforms] Track erased ops separately (#83051)
matthias-springer Feb 26, 2024
6a884a9
[libc++] Always keep libc++abi re-exports up-to-date (#79012)
ldionne Feb 26, 2024
435e75d
[Tests][LoopDistribute] Re-adding target triple in a test (#82954)
nilanjana87 Feb 26, 2024
113052b
[AMDGPU] Prefer lower total register usage in regions with spilling
jrbyrnes Nov 9, 2023
860b6ed
MIPS: fix emitDirectiveCpsetup on N32 (#80534)
wzssyqa Feb 26, 2024
99335a6
[flang][OpenMP] Add missing implementation for 'omp_is_initial_device…
mjklemm Feb 26, 2024
acdd36e
[ItaniumDemangle] reject A-F in FP literals (#82864)
rprichard Feb 26, 2024
e9cdd16
[docs] Remove the Packaging "Tips" which seems to be about pre-cmake …
joker-eph Feb 26, 2024
15a7de6
[SelectionDAG] Support sign tracking through `{S|U}INT_TO_FP`
goldsteinn Feb 23, 2024
841a416
[BOLT] Fix runtime/instrument-wrong-target.s test (#82858)
ayermolo Feb 26, 2024
21d8332
[clang] Implement __builtin_popcountg (#82359)
overmighty Feb 26, 2024
6de5fcc
[BOLT][DWARF] Add support for .debug_names (#81062)
ayermolo Feb 26, 2024
e4604c3
[flang] Added support for REAL16 math intrinsics in lowering and runt…
vzakhari Feb 26, 2024
a870a48
[HLSL] Fix casting asserts (#82827)
farzonl Feb 26, 2024
b94913b
[AArch64] Vector insert zero upper tests. NFC
davemgreen Feb 26, 2024
b191659
[gn build] Port 6de5fcc74637
llvmgnsyncbot Feb 26, 2024
e877245
[docs] Remove ref to deleted "Packaging.rst"
bwendling Feb 26, 2024
796d26a
[flang] Fix ISO_Fortran_binding.h to work better with C++ code (#82556)
psteinfeld Feb 26, 2024
7789fb6
[libc][NFC] Move 'sleep_briefly' function to common header (#83074)
jhuber6 Feb 26, 2024
23f895f
[InstrProf] Single byte counters in coverage (#75425)
gulfemsavrun Feb 26, 2024
3d2a918
[clang] Fixes inf loop parsing fixed point literal (#83071)
PiJoules Feb 26, 2024
54cff50
[TBAA] Add !tbaa.struct test with unnamed bitfields.
fhahn Feb 26, 2024
cda4130
[scudo] Do not unmap the memory containing the this object in unmapRi…
fabio-d Feb 26, 2024
0339ce0
[NFC][flang] Removed unused constexpr var.
vzakhari Feb 26, 2024
dc5dfc1
[lldb] python-bindings: fix `SBTarget.get_target_watchpoints()` (#82295)
nikitalita Feb 26, 2024
056d62b
Revert "[scudo] Store more blocks in each TransferBatch" (#83078)
ChiaHungDuan Feb 26, 2024
371e6d0
[NFC][hwasan] Do not include sanitizer_placement_new.h in header file…
Enna1 Feb 26, 2024
56d5829
[mlir][sparse] Introduce batch level format. (#83082)
PeimingLiu Feb 27, 2024
62d0c01
[SelectionDAG] Remove pointer from MMO for VP strided load/store. (#8…
topperc Feb 27, 2024
ded4ea9
[libc][stdfix] Add sqrt for fixed point types. (#83042)
lntue Feb 27, 2024
5e4c436
[APINotes] Fix a few accidental refactoring artifacts
egorzhdan Feb 27, 2024
91791c6
[DSE] Test precommit for a bug caused by a read-clobber being skipped…
vporpo Feb 27, 2024
f667227
Merge from 'sycl' to 'sycl-web'
Feb 27, 2024
b1d2e85
Revert "[DSE] Test precommit for a bug caused by a read-clobber being…
vporpo Feb 27, 2024
3892e8e
Non functional change. Initialize var EnumVal to 0. (#82987)
MalaySanghi Feb 27, 2024
384250c
Merge from 'main' to 'sycl-web' (44 commits)
jyu2-git Feb 27, 2024
86f6caa
[llvm][Support] Add support for executing a detached process (#81708)
cpsughrue Feb 27, 2024
c11627c
[MLIR][LLVM] Fix memory explosion when converting global variable bod…
python3kgae Feb 27, 2024
b791a51
[CodeGenSchedule] Don't allow invalid ReadAdvances to be formed (#82685)
francisvm Feb 27, 2024
2e56484
[RISCV] Use getVectorIdxConstant in RISCVISelLowering.cpp. NFC (#83019)
lukel97 Feb 27, 2024
ef7417f
[mlir] Fix -Wunused-but-set-variable in ModuleTranslation.cpp (NFC)
DamonFool Feb 27, 2024
f410f74
Revert "[llvm][Support] Add support for executing a detached process …
cpsughrue Feb 27, 2024
b2a4f64
[clang-format][NFC] Skip ObjCHeaderStyleGuesser for empty code (#82957)
owenca Feb 27, 2024
e7900e6
AMDGPU: Regenerate baseline mir tests
arsenm Feb 27, 2024
f066377
[LLVM][DWARF] Make dwarf::getDebugNamesBucketCount return a pair. (#8…
cmtice Feb 27, 2024
c88beb4
MIPS: Fix asm constraints "f" and "r" for softfloat (#79116)
wzssyqa Feb 27, 2024
c19a819
[libc++] protect absent atomic types with ifdef (#82351)
domin144 Feb 27, 2024
0ed61db
[MC/DC] Refactor: Isolate the final result out of TestVector (#82282)
chapuni Feb 27, 2024
ed1aabe
remove expensive copy of options passed (#82577)
mahesh-attarde Feb 27, 2024
d7c80bb
[llvm][LoongArch] Improve loongarch_lasx_xvpermi_q instrinsic (#82984)
leecheechen Feb 27, 2024
512a8a7
[MC/DC] Introduce `class TestVector` with a pair of `BitVector` (#82174)
chapuni Feb 27, 2024
575bf33
[mlir][ArmSME] Remove XFAIL for load-store-128-bit-tile
DavidSpickett Feb 27, 2024
aaec22f
[clang][dataflow] Remove deprecated `ValueModel::merge()` function. (…
martinboehme Feb 27, 2024
4e9fe86
[ConstraintElim] Add additional sext tests with unsigned predicates.
fhahn Feb 27, 2024
a1bbba0
[lldb][test][Windows] Fix NonStop tests on case insensitive file systems
DavidSpickett Feb 27, 2024
e421c12
[VPlan] Remove left-over CHECK-NOT line.
fhahn Feb 27, 2024
288d317
[mlir][complex] Support Fastmath flag in conversion of complex.div to…
Lewuathe Feb 27, 2024
9796b0e
Add support for the 'freeze' instruction (#82979)
VyacheslavLevytskyy Feb 27, 2024
ada70f5
[SPIR-V]: add SPIR-V extension: SPV_INTEL_variable_length_array (#83002)
VyacheslavLevytskyy Feb 27, 2024
aa43649
Reapply "[RemoveDIs] Print non-intrinsic debug info in textual IR out…
SLTozer Feb 27, 2024
d128448
Revert "Reapply "[RemoveDIs] Print non-intrinsic debug info in textua…
SLTozer Feb 27, 2024
2c9b6c1
[AArch64][GlobalISel] Improve codegen for G_VECREDUCE_{SMIN,SMAX,UMIN…
dc03-work Feb 27, 2024
ca0560d
[AMDGPU] Add new aliases ds_subrev_u32/u64 for ds_rsub_u32/u64 (#83118)
jayfoad Feb 27, 2024
d273a19
[AMDGPU] Shorten mnemonic alias tests (#83121)
jayfoad Feb 27, 2024
56ad6d1
[MachineLICM] Hoist COPY instruction only when user can be hoisted (#…
michaelselehov Feb 27, 2024
2e4643a
AMDGPU: Regenerate baseline test checks
arsenm Feb 27, 2024
ca66f74
AMDGPU: Merge tests for llvm.amdgcn.dispatch.id
arsenm Feb 27, 2024
a28a7d4
[clang][Interp][NFC] Remove leftover comments
tbaederr Feb 26, 2024
19cec9c
[clang-format] Add AlignConsecutiveTableGenDefinitions option. (#83008)
hnakamura5 Feb 27, 2024
d6ff986
[LLVM][tests/CodeGen/AArch64] Convert instances of ConstantExpr based…
paulwalker-arm Feb 13, 2024
dbb65dd
[LLVM][tests/CodeGen/RISCV] Convert instances of ConstantExpr based s…
paulwalker-arm Feb 14, 2024
fd07b8f
[LLVM][tests/Transforms/InstCombine] Convert instances of ConstantExp…
paulwalker-arm Feb 15, 2024
6a17929
[LLVM][tests/Transforms/InstSimplify] Convert instances of ConstantEx…
paulwalker-arm Feb 15, 2024
900bea9
[LLVM][test] Convert remaining instances of ConstantExpr based splats…
paulwalker-arm Feb 15, 2024
5ec535b
[AMDGPU] Regenerate mnemonic alias checks (#83130)
jayfoad Feb 27, 2024
f2bb6c4
[NFC][HLSL] Fix broken test (#83062)
sudonatalie Feb 27, 2024
2e39b57
Reapply "[RemoveDIs] Print non-intrinsic debug info in textual IR out…
SLTozer Feb 27, 2024
8c2ae42
[Clang][Sema] Fix missing warning when comparing mismatched enums in …
martinkupa Feb 27, 2024
13c359a
[X86] ReplaceNodeResults - truncate sub-128-bit vectors as shuffles d…
RKSimon Feb 27, 2024
b3ae6c2
[CLANG][DWARF] Do not emit -ggnu-pubnames for split dwarf version 5. …
ayermolo Feb 27, 2024
04db60d
[AMDGPU] Prevent hang in SIFoldOperands by caching uses (#82099)
choikwa Feb 27, 2024
70e61f5
[clang][Interp][NFC] Rename InitPtr{,Pop} to FinishInit{,Pop}
tbaederr Feb 27, 2024
48bc902
[MemProf] Fix the stack updating handling of pruned contexts (#81322)
teresajohnson Feb 27, 2024
822142f
[OpenMP][OMPD] libompd must not link libomp (#83119)
jprotze Feb 27, 2024
55783bd
[HIP] fix host min/max in header (#82956)
yxsamliu Feb 27, 2024
d612d59
[clang][Interp] Fix local lvalue compound literals
tbaederr Feb 27, 2024
4cba595
[mlir][ROCDL] Set the LLVM data layout when lowering to ROCDL LLVM (#…
krzysz00 Feb 27, 2024
b70f42a
[clang][Interp] Handle PseudoObjectExprs
tbaederr Feb 27, 2024
8b56d9e
[llvm-objcopy] Improve help messages (#82830)
MaskRay Feb 27, 2024
8a87f76
Aim debugserver workaround more precisely. (#83099)
adrian-prantl Feb 27, 2024
b98e6a5
[BOLT][AArch64] Skip BBs only instead of functions (#81989)
ElvinaYakubova Feb 27, 2024
183b6b5
[clang][Interp] Ignore unnamed bitfields when checking init
tbaederr Feb 27, 2024
ed35ad1
[RemoveDIs][DebugInfo] Add DPValue checks to the verifier, prepare DP…
SLTozer Feb 27, 2024
a6b4e29
[libc] Re-enable several GPU math smoke tests (#83147)
jhuber6 Feb 27, 2024
c1c2c92
[flang][cuda][NFC] Add test for attributes on procedure (#83044)
clementval Feb 27, 2024
b50bcc7
[libc++][modules] Fixes naming inconsistency. (#83036)
mordante Feb 27, 2024
aa95aa6
[libc][math][c23] Add C23 math functions ilogbf128, logbf128, and llo…
lntue Feb 27, 2024
d292610
[libc] Clean up GPU math implementations (#83133)
jhuber6 Feb 27, 2024
ae94354
[LLVM][LangRef] Remove bogus ':' from vector constant text.
paulwalker-arm Feb 27, 2024
9d9c012
[flang][runtime] Added F128 wrappers for LDBL_MANT_DIG == 113 targets…
vzakhari Feb 27, 2024
c95febc
[X86] LowerBITREVERSE - add handling for all legal 128/256/512-bit ve…
RKSimon Feb 27, 2024
f7cf1f6
[CodeGen][MISched] dumpSched direction depends on field in DAG.
michaelmaitland Dec 21, 2023
9106b58
[CodeGen][MISched] Add misched post-regalloc bottom-up scheduling
michaelmaitland Dec 21, 2023
7706945
[libc] Work around incorrect fmin/fmax results for +/-x (#83158)
jhuber6 Feb 27, 2024
f4fad82
[NFC] Add REQUIRES: asserts to limit the test to debug only. (#83145)
python3kgae Feb 27, 2024
335ac41
Improve readability of "undefined reference" message (#82671)
DeanSturtevant1 Feb 27, 2024
12df1cf
[LLVM] Remove bogus whitespace from AArch64TargetParser.h
paulwalker-arm Feb 27, 2024
0ef66fc
[lldb] Use CreateOptionParsingError in CommandObjectBreakpoint (#83086)
bulbazord Feb 27, 2024
abc693f
[AArch64] Skip over shadow space for ARM64EC entry thunk variadic cal…
bylaws Feb 27, 2024
2d704f4
Start to clean up the process of defining command arguments. (#83097)
jimingham Feb 27, 2024
7b11e2e
[clang-tidy] Fix `cppcoreguidelines-missing-std-forward` false positi…
AMS21 Feb 27, 2024
563f414
[mlir][AMDGPU] Set uniform-work-group-size=true by default (#79077)
krzysz00 Feb 27, 2024
e427e93
[lldb][dap] Avoid concurrent `HandleCommand` calls (#83162)
rupprecht Feb 27, 2024
f44c3fa
Revert "[Hexagon] Optimize post-increment load and stores in loops. (…
Feb 27, 2024
13fd4bf
[llvm-ar][Archive] Use getDefaultTargetTriple instead of host triple …
cjacek Feb 27, 2024
8e3b605
[libc] Add fixed point support to printf (#82707)
michaelrj-google Feb 27, 2024
16e74fd
Reland "[TypeProf][InstrPGO] Introduce raw and instr profile format c…
mingmingl-llvm Feb 27, 2024
40ba1f6
[clang] Update -Wformat warnings for fixed-point format specifiers (#…
PiJoules Feb 27, 2024
19181f2
[compiler-rt] Add missing include to sanitizer_stackdepot_test.cpp
arichardson Feb 27, 2024
9ca8db3
[SHT_LLVM_BB_ADDR_MAP] Adds pretty printing of BFI and BPI for PGO An…
red1bluelost Feb 27, 2024
d23ef9e
[Clang] [Sema] Handle placeholders in '.*' expressions (#83103)
Sirraide Feb 27, 2024
b3189b1
[flang][cuda] CUF kernel loop directive (#82836)
clementval Feb 27, 2024
f42e321
[AArch64] Use FMOVDr for clearing upper bits (#83107)
davemgreen Feb 27, 2024
fd42044
[libc] Re-Enable GPU tests and fix math exception handling (#83172)
jhuber6 Feb 27, 2024
a76c524
[gn build] Port f44c3faccaa4
llvmgnsyncbot Feb 27, 2024
0d1f957
[mlir][sparse] support type conversion from batched sparse tensors to…
PeimingLiu Feb 27, 2024
d2a9df2
[TBAA] Handle bitfields when generating !tbaa.struct metadata. (#82922)
fhahn Feb 27, 2024
0e0bee2
[OpenMP] Fix distributed barrier hang for OMP_WAIT_POLICY=passive (#8…
jpeyton52 Feb 27, 2024
e5ed7b6
[clang] Extend define-target-os-macros to support XROS. (#82833)
rohit-rao Feb 27, 2024
1d1186d
[llvm-exegesis] Add loop-register snippet annotation (#82873)
boomanaiden154 Feb 27, 2024
b0bae44
[lld] Adds support for xros. (#83031)
rohit-rao Feb 27, 2024
3250330
[asan] Disable instrumentation for available_externally global with C…
yingcong-wu Feb 27, 2024
5e31e82
[compiler-rt] Use locally configured llvm-lit for standalone builds (…
arichardson Feb 27, 2024
c6fa71c
[libc][NFC] Add `-Wno-multi-gpu` everywhere for the GPU build (#83173)
jhuber6 Feb 27, 2024
f7a9966
Fix typo in mlir::Value doxygen comment (#83150)
qbojj Feb 27, 2024
d82e93e
[mlir][sparse] add merger support on Batch LevelType. (#83186)
PeimingLiu Feb 27, 2024
06bcd9d
[libc][stdbit] implement stdc_has_single_bit (C23) (#83168)
nickdesaulniers Feb 27, 2024
70a7b1e
Remove test since no test on --debug output. (#83189)
python3kgae Feb 27, 2024
d4cdb51
[WebAssembly] Add RefTypeMem2Local pass (#81965)
aheejin Feb 27, 2024
5964f4b
[gn build] Port d4cdb516eee4
llvmgnsyncbot Feb 27, 2024
3761ad0
[libc++] Remove _LIBCPP_ATOMIC_ONLY_USE_BUILTINS (#82000)
ldionne Feb 27, 2024
7864711
[nfc][compiler-rt]Remove round-up in __llvm_profile_get_num_data (#83…
mingmingl-llvm Feb 27, 2024
001e18c
[NFC] clang-format SROA.cpp
aeubanks Feb 27, 2024
a3748d6
[MLIR] Update GPU.md: add gpu kernel outlining to doc example. (#83141)
ImanHosseini Feb 27, 2024
9d0acb8
[mlir][Vector] Add support for trunci to narrow type emulation (#82565)
dcaballe Feb 27, 2024
0e84e27
[BOLT] Move test under X86 target. NFCI (#83202)
maksfb Feb 27, 2024
04e8653
[libc] Add "include/" to the LLVM include directories (#83199)
jhuber6 Feb 27, 2024
d699d9d
[flang][runtime] Support SUM/PRODUCT/DOT_PRODUCT reductions for REAL(…
vzakhari Feb 27, 2024
1ea43e2
[SYCL-WEB] Fix test failures in address-space-conversions (#12843)
jsji Feb 28, 2024
062cfad
[builtins] Disable COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY by default (…
MaskRay Feb 28, 2024
8506a63
Revert "[WebAssembly] Disable multivalue emission temporarily (#82714)"
aheejin Feb 28, 2024
f20ea05
[flang][runtime] Fixed aarach buildbots after #83169.
vzakhari Feb 28, 2024
bcbce80
Revert "[HIP] fix host min/max in header (#82956)"
yxsamliu Feb 28, 2024
dba2dd2
Revert "[CLANG][DWARF] Do not emit -ggnu-pubnames for split dwarf ver…
ayermolo Feb 28, 2024
e9e7aea
[Driver] Allow -fbasic-block-address-map for AArch64 ELF (#82662)
dhoekwater Feb 28, 2024
50136ca
[DirectX][NFC] Rename ShaderFlag to SHADER_FEATURE_FLAG. (#82700)
python3kgae Feb 28, 2024
cf1c97b
[AMDGPU] Do not attempt to fallback to default mutations (#83208)
jrbyrnes Feb 28, 2024
91d2337
[RISCV] Use a tail agnostic vslideup if possible for scalable insert_…
lukel97 Feb 28, 2024
1f2a1a7
[flang][runtime] Fixed flang+Werror buildbots after #83169.
vzakhari Feb 28, 2024
7c206c7
[BOLT] Refactor interface for instruction labels. NFCI (#83209)
maksfb Feb 28, 2024
9d56be0
[MLIR][OpenMP] Support basic materialization for `omp.private` ops (…
ergawy Feb 28, 2024
87c0260
[AMDGPU] Add parameterization for optimized shared memory variables (…
erman-gurses Feb 28, 2024
c2b9529
[mlir][vector] Fix n-d transfer write distribution (#83215)
qedawkins Feb 28, 2024
267beb1
[MLIR] Fix a few links to passes in the documentation (#83221)
Feb 28, 2024
4d04a40
[alpha.webkit.UncountedCallArgsChecker] Allow a variable declaration …
rniwa Feb 28, 2024
8eea478
[ItaniumDemangle] reject A-F in FP literals (#83061)
rprichard Feb 28, 2024
28c29fb
[RISCV] Add exact VLEN RUNs for insert_subvector and concat_vector te…
lukel97 Feb 28, 2024
f81d5e5
[flang] Handle OPTIONAL polymorphic captured in internal procedures (…
jeanPerier Feb 28, 2024
9617da8
[RISCV] Use a ta vslideup if inserting over end of InterSubVT (#83230)
lukel97 Feb 28, 2024
2b54510
[GlobalISel] Add a TargetLowering variable to IRTranslator. NFC (#83009)
davemgreen Feb 28, 2024
a4fff36
[bazel] Add "include/" for libc includes
metaflow Feb 28, 2024
619ee20
[mlir] add an example of using transform dialect standalone (#82623)
ftynse Feb 28, 2024
49c399c
[clang][Interp] Toplevel destructors may fail
tbaederr Feb 28, 2024
9f99eda
[clang][Interp][NFC] Convert test to verify=expected,both style
tbaederr Feb 28, 2024
f667450
Merge commit '9f99eda1208787364b1a381b2d4e146fc4868cd5' into llvmspir…
sys-ce-bb Feb 29, 2024
e59ed66
Include `LLVMSPIRVLib.h` in `SPIRVError.cpp` (#2377)
svenvh Feb 23, 2024
6fb3494
Struct as result type in OpGroupNonUniformShuffleDown translation fix…
bwlodarcz Feb 26, 2024
3d89fc6
Support SPV_INTEL_maximum_registers extension (#2344)
vmaksimo Feb 26, 2024
1d53bf4
Fix OpGroupNonUniformBroadcast version requirement (#2378)
svenvh Feb 27, 2024
4ddf13b
Fix function with unused sret parameter (#2381)
MrSidims Feb 27, 2024
d053f45
Out of bounds cooperative matrix load/store/fill work with legacy Typ…
VyacheslavLevytskyy Feb 28, 2024
17f3a1a
Fix GV initialized with undef translation (#2383)
MrSidims Feb 28, 2024
cbe3792
Add --spirv-ext-inst option (#2382)
LU-JOHN Feb 29, 2024
5c14376
Revert "[HIP] Allow partial linking for `-fgpu-rdc` (#81700)"
jsji Mar 1, 2024
bbf3800
Revert "Fix OpGroupNonUniformBroadcast version requirement (#2378)"
sys-ce-bb Mar 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 20 additions & 0 deletions .github/new-prs-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -846,6 +846,26 @@ backend:PowerPC:
- clang/lib/Driver/ToolChains/Arch/PPC.*
- clang/test/CodeGen/PowerPC/**

backend:SystemZ:
- llvm/include/llvm/BinaryFormat/ELFRelocs/SystemZ*
- llvm/include/llvm/BinaryFormat/GOFF.h
- llvm/include/llvm/IR/IntrinsicsSystemZ.td
- llvm/lib/Target/SystemZ/**
- llvm/test/Analysis/**/SystemZ/**
- llvm/test/CodeGen/SystemZ/**
- llvm/test/DebugInfo/SystemZ/**
- llvm/test/ExecutionEngine/**/SystemZ/**
- llvm/test/MC/Disassembler/SystemZ/**
- llvm/test/MC/GOFF/**
- llvm/test/MC/SystemZ/**
- llvm/test/Transforms/**/SystemZ/**
- clang/include/clang/Basic/BuiltinsSystemZ.*
- clang/lib/Basic/Targets/SystemZ.*
- clang/lib/CodeGen/Targets/SystemZ.cpp
- clang/lib/Driver/ToolChains/ZOS*
- clang/lib/Driver/ToolChains/Arch/SystemZ.*
- clang/test/CodeGen/SystemZ/**

third-party:unittests:
- third-party/unittests/**

Expand Down
4 changes: 4 additions & 0 deletions bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -997,6 +997,10 @@ class BinaryContext {
return getUniqueSectionByName(".gdb_index");
}

ErrorOr<BinarySection &> getDebugNamesSection() const {
return getUniqueSectionByName(".debug_names");
}

/// @}

/// Register \p TargetFunction as a fragment of \p Function if checks pass:
Expand Down
7 changes: 5 additions & 2 deletions bolt/include/bolt/Core/DIEBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#define BOLT_CORE_DIE_BUILDER_H

#include "bolt/Core/BinaryContext.h"
#include "bolt/Core/DebugNames.h"
#include "llvm/CodeGen/DIE.h"
#include "llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h"
#include "llvm/DebugInfo/DWARF/DWARFDie.h"
Expand Down Expand Up @@ -127,6 +128,7 @@ class DIEBuilder {
DWARFUnit *SkeletonCU{nullptr};
uint64_t UnitSize{0};
llvm::DenseSet<uint64_t> AllProcessed;
DWARF5AcceleratorTable &DebugNamesTable;

/// Returns current state of the DIEBuilder
State &getState() { return *BuilderState.get(); }
Expand Down Expand Up @@ -206,8 +208,8 @@ class DIEBuilder {
/// Update references once the layout is finalized.
void updateReferences();

/// Update the Offset and Size of DIE.
uint32_t computeDIEOffset(const DWARFUnit &CU, DIE &Die, uint32_t &CurOffset);
/// Update the Offset and Size of DIE, populate DebugNames table.
uint32_t finalizeDIEs(DWARFUnit &CU, DIE &Die, uint32_t &CurOffset);

void registerUnit(DWARFUnit &DU, bool NeedSort);

Expand Down Expand Up @@ -269,6 +271,7 @@ class DIEBuilder {

public:
DIEBuilder(BinaryContext &BC, DWARFContext *DwarfContext,
DWARF5AcceleratorTable &DebugNamesTable,
DWARFUnit *SkeletonCU = nullptr);

/// Returns enum to what we are currently processing.
Expand Down
9 changes: 6 additions & 3 deletions bolt/include/bolt/Core/DebugData.h
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,8 @@ class DebugStrOffsetsWriter {
/// Update Str offset in .debug_str in .debug_str_offsets.
void updateAddressMap(uint32_t Index, uint32_t Address);

/// Get offset for given index in original .debug_str_offsets section.
uint64_t getOffset(uint32_t Index) const { return StrOffsets[Index]; }
/// Writes out current sections entry into .debug_str_offsets.
void finalizeSection(DWARFUnit &Unit, DIEBuilder &DIEBldr);

Expand All @@ -463,7 +465,7 @@ class DebugStrOffsetsWriter {
std::unique_ptr<DebugStrOffsetsBufferVector> StrOffsetsBuffer;
std::unique_ptr<raw_svector_ostream> StrOffsetsStream;
std::map<uint32_t, uint32_t> IndexToAddressMap;
std::vector<uint32_t> StrOffsets;
SmallVector<uint32_t, 5> StrOffsets;
std::unordered_map<uint64_t, uint64_t> ProcessedBaseOffsets;
bool StrOffsetSectionWasModified = false;
};
Expand All @@ -484,11 +486,12 @@ class DebugStrWriter {
/// Returns False if no strings were added to .debug_str.
bool isInitialized() const { return !StrBuffer->empty(); }

/// Initializes Buffer and Stream.
void initialize();

private:
/// Mutex used for parallel processing of debug info.
std::mutex WriterMutex;
/// Initializes Buffer and Stream.
void initialize();
/// Creates internal data structures.
void create();
std::unique_ptr<DebugStrBufferVector> StrBuffer;
Expand Down
172 changes: 172 additions & 0 deletions bolt/include/bolt/Core/DebugNames.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
//===- bolt/Core/DebugNames.h - Debug names support ---*- C++
//
// 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
//
//===----------------------------------------------------------------------===//
//
// This file contains declaration of classes required for generation of
// .debug_names section.
//
//===----------------------------------------------------------------------===//

#ifndef BOLT_CORE_DEBUG_NAMES_H
#define BOLT_CORE_DEBUG_NAMES_H

#include "DebugData.h"
#include "llvm/CodeGen/AccelTable.h"

namespace llvm {
namespace bolt {
class BOLTDWARF5AccelTableData : public DWARF5AccelTableData {
public:
BOLTDWARF5AccelTableData(const uint64_t DieOffset,
const std::optional<uint64_t> DefiningParentOffset,
const unsigned DieTag, const unsigned UnitID,
const bool IsTU,
const std::optional<unsigned> SecondUnitID)
: DWARF5AccelTableData(DieOffset, DefiningParentOffset, DieTag, UnitID,
IsTU),
SecondUnitID(SecondUnitID) {}

uint64_t getDieOffset() const { return DWARF5AccelTableData::getDieOffset(); }
unsigned getDieTag() const { return DWARF5AccelTableData::getDieTag(); }
unsigned getUnitID() const { return DWARF5AccelTableData::getUnitID(); }
bool isTU() const { return DWARF5AccelTableData::isTU(); }
std::optional<unsigned> getSecondUnitID() const { return SecondUnitID; }

private:
std::optional<unsigned> SecondUnitID;
};

class DWARF5AcceleratorTable {
public:
DWARF5AcceleratorTable(const bool CreateDebugNames, BinaryContext &BC,
DebugStrWriter &MainBinaryStrWriter);
~DWARF5AcceleratorTable() {
for (DebugNamesAbbrev *Abbrev : AbbreviationsVector)
Abbrev->~DebugNamesAbbrev();
}
/// Add DWARF5 Accelerator table entry.
/// Input is DWARFUnit being processed, DIE that belongs to it, and potential
/// SkeletonCU if the Unit comes from a DWO section.
void addAccelTableEntry(DWARFUnit &Unit, const DIE &Die,
const std::optional<uint64_t> &DWOID);
/// Set current unit being processed.
void setCurrentUnit(DWARFUnit &Unit, const uint64_t UnitStartOffset);
/// Emit Accelerator table.
void emitAccelTable();
/// Returns true if the table was crated.
bool isCreated() const { return NeedToCreate; }
/// Returns buffer containing the accelerator table.
std::unique_ptr<DebugBufferVector> releaseBuffer() {
return std::move(FullTableBuffer);
}

private:
BinaryContext &BC;
bool NeedToCreate = false;
BumpPtrAllocator Allocator;
DebugStrWriter &MainBinaryStrWriter;
StringRef StrSection;
uint64_t CurrentUnitOffset = 0;
const DWARFUnit *CurrentUnit = nullptr;
std::unordered_map<uint32_t, uint32_t> AbbrevTagToIndexMap;

/// Represents a group of entries with identical name (and hence, hash value).
struct HashData {
uint64_t StrOffset;
uint32_t HashValue;
uint32_t EntryOffset;
std::vector<BOLTDWARF5AccelTableData *> Values;
};
using HashList = std::vector<HashData *>;
using BucketList = std::vector<HashList>;
/// Contains all the offsets of CUs.
SmallVector<uint32_t, 1> CUList;
/// Contains all the offsets of local TUs.
SmallVector<uint32_t, 1> LocalTUList;
/// Contains all the type hashes for split dwarf TUs.
SmallVector<uint64_t, 1> ForeignTUList;
using StringEntries =
MapVector<std::string, HashData, llvm::StringMap<unsigned>>;
StringEntries Entries;
/// FoldingSet that uniques the abbreviations.
FoldingSet<DebugNamesAbbrev> AbbreviationsSet;
/// Vector containing DebugNames abbreviations for iteration in order.
SmallVector<DebugNamesAbbrev *, 5> AbbreviationsVector;
/// The bump allocator to use when creating DIEAbbrev objects in the uniqued
/// storage container.
BumpPtrAllocator Alloc;
uint32_t BucketCount = 0;
uint32_t UniqueHashCount = 0;
uint32_t AbbrevTableSize = 0;
uint32_t CUIndexEncodingSize = 4;
uint32_t TUIndexEncodingSize = 4;
uint32_t AugmentationStringSize = 0;
dwarf::Form CUIndexForm = dwarf::DW_FORM_data4;
dwarf::Form TUIndexForm = dwarf::DW_FORM_data4;

BucketList Buckets;

std::unique_ptr<DebugBufferVector> FullTableBuffer;
std::unique_ptr<raw_svector_ostream> FullTableStream;
std::unique_ptr<DebugBufferVector> StrBuffer;
std::unique_ptr<raw_svector_ostream> StrStream;
std::unique_ptr<DebugBufferVector> EntriesBuffer;
std::unique_ptr<raw_svector_ostream> Entriestream;
std::unique_ptr<DebugBufferVector> AugStringBuffer;
std::unique_ptr<raw_svector_ostream> AugStringtream;
llvm::DenseMap<llvm::hash_code, uint64_t> StrCacheToOffsetMap;
// Contains DWO ID to CUList Index.
llvm::DenseMap<uint64_t, uint32_t> CUOffsetsToPatch;
/// Adds Unit to either CUList, LocalTUList or ForeignTUList.
/// Input Unit being processed, and DWO ID if Unit is being processed comes
/// from a DWO section.
void addUnit(DWARFUnit &Unit, const std::optional<uint64_t> &DWOID);
/// Returns number of buckets in .debug_name table.
ArrayRef<HashList> getBuckets() const { return Buckets; }
/// Get encoding for a given attribute.
std::optional<DWARF5AccelTable::UnitIndexAndEncoding>
getIndexForEntry(const BOLTDWARF5AccelTableData &Value) const;
/// Get encoding for a given attribute for second index.
/// Returns nullopt if there is no second index.
std::optional<DWARF5AccelTable::UnitIndexAndEncoding>
getSecondIndexForEntry(const BOLTDWARF5AccelTableData &Value) const;
/// Uniquify Entries.
void finalize();
/// Computes bucket count.
void computeBucketCount();
/// Populate Abbreviations Map.
void populateAbbrevsMap();
/// Write Entries.
void writeEntries();
/// Write an Entry.
void writeEntry(const BOLTDWARF5AccelTableData &Entry);
/// Write augmentation_string for BOLT.
void writeAugmentationString();
/// Emit out Header for DWARF5 Accelerator table.
void emitHeader() const;
/// Emit out CU list.
void emitCUList() const;
/// Emit out TU List. Combination of LocalTUList and ForeignTUList.
void emitTUList() const;
/// Emit buckets.
void emitBuckets() const;
/// Emit hashes for hash table.
void emitHashes() const;
/// Emit string offsets for hash table.
void emitStringOffsets() const;
/// Emit Entry Offsets for hash table.
void emitOffsets() const;
/// Emit abbreviation table.
void emitAbbrevs();
/// Emit entries.
void emitData();
/// Emit augmentation string.
void emitAugmentationString() const;
};
} // namespace bolt
} // namespace llvm
#endif
21 changes: 18 additions & 3 deletions bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -620,7 +620,17 @@ class MCPlusBuilder {
return Info->get(Inst.getOpcode()).mayStore();
}

virtual bool isAArch64Exclusive(const MCInst &Inst) const {
virtual bool isAArch64ExclusiveLoad(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}

virtual bool isAArch64ExclusiveStore(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}

virtual bool isAArch64ExclusiveClear(const MCInst &Inst) const {
llvm_unreachable("not implemented");
return false;
}
Expand Down Expand Up @@ -1173,11 +1183,16 @@ class MCPlusBuilder {
bool clearOffset(MCInst &Inst) const;

/// Return the label of \p Inst, if available.
MCSymbol *getLabel(const MCInst &Inst) const;
MCSymbol *getInstLabel(const MCInst &Inst) const;

/// Set the label of \p Inst or return the existing label for the instruction.
/// This label will be emitted right before \p Inst is emitted to MCStreamer.
MCSymbol *getOrCreateInstLabel(MCInst &Inst, const Twine &Name,
MCContext *Ctx) const;

/// Set the label of \p Inst. This label will be emitted right before \p Inst
/// is emitted to MCStreamer.
bool setLabel(MCInst &Inst, MCSymbol *Label) const;
void setInstLabel(MCInst &Inst, MCSymbol *Label) const;

/// Get instruction size specified via annotation.
std::optional<uint32_t> getSize(const MCInst &Inst) const;
Expand Down
7 changes: 5 additions & 2 deletions bolt/include/bolt/Rewrite/DWARFRewriter.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

#include "bolt/Core/DIEBuilder.h"
#include "bolt/Core/DebugData.h"
#include "bolt/Core/DebugNames.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/DIE.h"
#include "llvm/DWP/DWP.h"
Expand Down Expand Up @@ -140,8 +141,10 @@ class DWARFRewriter {
const std::list<DWARFUnit *> &CUs);

/// Finalize debug sections in the main binary.
void finalizeDebugSections(DIEBuilder &DIEBlder, DIEStreamer &Streamer,
raw_svector_ostream &ObjOS, CUOffsetMap &CUMap);
void finalizeDebugSections(DIEBuilder &DIEBlder,
DWARF5AcceleratorTable &DebugNamesTable,
DIEStreamer &Streamer, raw_svector_ostream &ObjOS,
CUOffsetMap &CUMap);

/// Patches the binary for DWARF address ranges (e.g. in functions and lexical
/// blocks) to be updated.
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Core/BinaryContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1967,7 +1967,7 @@ void BinaryContext::printInstruction(raw_ostream &OS, const MCInst &Instruction,
OS << " # Offset: " << *Offset;
if (std::optional<uint32_t> Size = MIB->getSize(Instruction))
OS << " # Size: " << *Size;
if (MCSymbol *Label = MIB->getLabel(Instruction))
if (MCSymbol *Label = MIB->getInstLabel(Instruction))
OS << " # Label: " << *Label;

MIB->printAnnotations(Instruction, OS);
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Core/BinaryEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ void BinaryEmitter::emitFunctionBody(BinaryFunction &BF, FunctionFragment &FF,

if (!EmitCodeOnly) {
// A symbol to be emitted before the instruction to mark its location.
MCSymbol *InstrLabel = BC.MIB->getLabel(Instr);
MCSymbol *InstrLabel = BC.MIB->getInstLabel(Instr);

if (opts::UpdateDebugSections && BF.getDWARFUnit()) {
LastLocSeen = emitLineInfo(BF, Instr.getLoc(), LastLocSeen,
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1424,7 +1424,7 @@ Error BinaryFunction::disassemble() {
InstrMapType::iterator II = Instructions.find(Offset);
assert(II != Instructions.end() && "reference to non-existing instruction");

BC.MIB->setLabel(II->second, Label);
BC.MIB->setInstLabel(II->second, Label);
}

// Reset symbolizer for the disassembler.
Expand Down
1 change: 1 addition & 0 deletions bolt/lib/Core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ add_llvm_library(LLVMBOLTCore
BinaryFunctionProfile.cpp
BinarySection.cpp
DebugData.cpp
DebugNames.cpp
DIEBuilder.cpp
DynoStats.cpp
Exceptions.cpp
Expand Down
Loading
Loading