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

Feature/merge upstream 20231019 #287

Merged
merged 1,066 commits into from
Jan 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1066 commits
Select commit Hold shift + click to select a range
be9bc54
[X86] vselect.ll - add vXi8 select-by-constant tests with repeated/br…
RKSimon Oct 17, 2023
dd5d65a
[HIP][Clang][CodeGen] Add CodeGen support for `hipstdpar`
AlexVlx Oct 17, 2023
6338932
[mlir][nvvm] Support predicates in `BasicPtxBuilder` (#67102)
grypp Oct 17, 2023
c4ba84d
[mlir][nvgpu] Fix packing accumlator matrix (#69316)
grypp Oct 17, 2023
f2898de
[InstCombine] Don't mix X << Y / Z << Y with X << Y / X << Z (#69302)
XChy Oct 17, 2023
39cdefb
[mlir][nvvm] Add prefetch.tensormap (#67564)
grypp Oct 17, 2023
b736e04
[MLIR][NVGPU] Test warpgroup matrix multiply 128x128x64 (#68817)
grypp Oct 17, 2023
7f2dd2d
[mlir][Tosa] Fix test failure when running with Asan.
akuegel Oct 17, 2023
e730f4a
[gn] port 3694697003bb
nico Oct 17, 2023
8b5625c
[gn] port 3694697003bb
nico Oct 17, 2023
4434253
[Bazel] disable preload-library.mlir test
steelannelida Oct 17, 2023
9057608
[Bazel] fix typo
steelannelida Oct 17, 2023
12bf423
[Bazel] Fix dependencies for clang codegen
steelannelida Oct 17, 2023
509b570
[AMDGPU][AsmParser] Eliminate custom predicates for named-bit operand…
kosarev Oct 17, 2023
bff17f9
[AMDGPU] Remove support for no-return buffer atomic intrinsics. NFC. …
jayfoad Oct 17, 2023
096eba1
[TargetParser][AMDGPU] Fix getArchEntry(). (#69222)
kosarev Oct 17, 2023
fc53b1a
[CUDA][HIP] Fix init var diag in temmplate (#69081)
yxsamliu Oct 17, 2023
81d8fa5
[Clang][SVE2.1] Add svcntp prototype
CarolineConcatto Oct 17, 2023
088d272
[ADT][DebugInfo][RemoveDIs] Add extra bits to ilist_iterator for debu…
jmorse Oct 17, 2023
b2773d1
[LoongArch] Precommit a test for atomic cmpxchg optmization
SixWeining Oct 17, 2023
791b890
[HIP][Clang][CodeGen] Simplify test for `hipstdpar`
AlexVlx Oct 17, 2023
c385981
[flang] Fix constant subscript operations (#68352)
luporl Oct 17, 2023
3dc263b
Update documentation on x86 constraint codes (#68830)
bjacob Oct 17, 2023
4df46c3
[gn build] Port 088d272e8325
llvmgnsyncbot Oct 17, 2023
3d6e416
[X86] Enable bfloat type support in inline assembly constraints (#68469)
phoebewang Oct 17, 2023
4b8f23e
[AArch64][SME] Remove immediate argument restriction for svldr and sv…
SamTebbs33 Oct 17, 2023
dffd93b
[flang][runtime] Fix SAME_TYPE_AS()/EXTENDS_TYPE_OF() for CLASS(*) (#…
klausler Oct 17, 2023
a559de0
[AMDGPU] Simplify definition of SIbuffer_atomic_*. NFC.
jayfoad Oct 17, 2023
7f34355
[RISCV] Use separate CCValAssign for both parts of f64 with ilp32. (#…
topperc Oct 17, 2023
2f329d8
[DAG] foldConstantFPMath - accept ArrayRef<SDValue> Ops instead of ex…
RKSimon Oct 17, 2023
3162cf0
[Github][OpenMP] Adding rule for OpenMP label (#65331)
jplehr Oct 17, 2023
abd0d5d
Reland: [AArch64][GlobalISel] Adopt dup(load) -> LD1R patterns from S…
dzhidzhoev Aug 14, 2023
20af0e5
Enable v for RISCV64 Android (#69261)
hiraditya Oct 17, 2023
7b1e685
[hwasan] Exclude bcmp interceptor test from Android
thurstond Oct 17, 2023
be57381
[InstCombine] Create a class to lazily track computed known bits (#66…
dc03 Oct 17, 2023
7cad5a9
[Clang][SVE2.1] Add svpext builtins
CarolineConcatto Oct 17, 2023
08d6b87
[flang] Round derived type byte sizes up to alignment multiple (#67571)
klausler Oct 17, 2023
760e7d0
[X86, Peephole] Enable FoldImmediate for X86
weiguozhi Oct 17, 2023
d816c22
[mlir][sparse] complete migration to dim2lvl/lvl2dim in library (#69268)
aartbik Oct 17, 2023
2a40ec2
[DAG] SimplifyDemandedBits - fix isOperationLegal typo in D146121
RKSimon Oct 17, 2023
4480e65
[YAMLParser] Improve plain scalar spec compliance (#68946)
akirchhoff-modular Oct 17, 2023
658ed58
[AArch64] Add additional tests for fptosi/fptoui. NFC
davemgreen Oct 17, 2023
4266815
[AArch64] Convert negative constant aarch64_neon_sshl to VASHR (#68918)
davemgreen Oct 17, 2023
66775f8
[SLP]Fix PR69196: Instruction does not dominate all uses
alexey-bataev Oct 16, 2023
a22a1fe
[AMDGPU] support 64-bit immediates in SIInstrInfo::FoldImmediate (#69…
rampitec Oct 17, 2023
761c9dd
[mlir][sparse] implementating stageSparseOpPass as an interface (#69022)
PeimingLiu Oct 17, 2023
ddc30ff
[libc] Implement the 'ungetc' function on the GPU (#69248)
jhuber6 Oct 17, 2023
b337237
[NVPTX] Fixed few more corner cases for v4i8 lowering. (#69263)
Artem-B Oct 17, 2023
dd64c82
[unittest] Allow LLVM unit test to run under a wrapper program. (#66821)
zeroomega Oct 17, 2023
fd31112
[VPlan] Insert Trunc/Exts for reductions directly in VPlan.
fhahn Oct 17, 2023
71c97c7
[mlir][sparse] avoid tensor to memref conversion in sparse tensor rew…
PeimingLiu Oct 17, 2023
3151281
[clang-tidy] Add check to diagnose coroutine-hostile RAII objects (#6…
usx95 Oct 17, 2023
e6d0b12
Correctly compute conversion seq for args to fn with reversed param o…
usx95 Oct 17, 2023
fbf0a77
[CodeGen] Avoid potential sideeffects from XOR (#67193)
bwendling Oct 17, 2023
ab91e05
[mlgo] Fix tests post 760e7d0
mtrofin Oct 17, 2023
f781508
[gn] port dd64c82cbc9c6
nico Oct 17, 2023
c0f3478
[gn build] Port 31512811b8c0
llvmgnsyncbot Oct 17, 2023
7dc644f
[CodeGen] Temporary disable the unreachable
bwendling Oct 17, 2023
389958a
[CodeGen][NFC] Fix formatting
bwendling Oct 17, 2023
0996cee
[ELF][test] Improve relocatable link & /DISCARD/ test
MaskRay Oct 17, 2023
122064a
[libcxx] [test] Add a test parameter for disabling memory intensive t…
mstorsjo Oct 17, 2023
9922aad
[OpenMPIRBuilder] Added `if` clause for `teams` (#69139)
shraiysh Oct 17, 2023
d4088e7
[mlir][sparse] Populate lvlToDim (#68937)
yinying-lisa-li Oct 17, 2023
e9b9a1d
[ELF] Move demoteSymbols to Writer.cpp. NFC
MaskRay Oct 17, 2023
3472d4d
[MLIR][Doc] Prepend "Variadic of" in front of variadic operands (#69285)
joker-eph Oct 17, 2023
fc5d815
[ELF] Merge demoteSymbols and isPreemptible computation. NFC
MaskRay Oct 17, 2023
e90ec58
[CMake] Support per-target linker flags (#68393)
thevinster Oct 17, 2023
ef0e0ad
[llvm-profdata] Do not create numerical strings for MD5 function name…
huangjd Oct 17, 2023
1981b1b
[ELF] Demote symbols in /DISCARD/ discarded sections to Undefined (#6…
MaskRay Oct 17, 2023
cf670d5
[flang][openacc] Accept scalar integer expression in the if clause (#…
clementval Oct 17, 2023
3caccb2
[NFC][SLP] Test case exposing gather nodes matching deficiency affect…
Oct 17, 2023
9aa571f
[SLP][NFC] Try to cleanup and better document some isGatherShuffledEn…
Oct 17, 2023
bbf7b9d
[ELF] Remove unused setSymbolAndType after #69295. NFC
MaskRay Oct 17, 2023
5990850
[LLDB][NFC] Add a missing namespace
walter-erquinigo Oct 17, 2023
170b552
[lldb] Scalar::GetValue() should take a Stream by reference (#69231)
bulbazord Oct 17, 2023
7d1bf1c
[LLDB][NFC] Move some constructors to their cpp file
walter-erquinigo Oct 17, 2023
340d746
Turn an assert in mlir-tblgen into a runtime check to be more user fr…
joker-eph Sep 21, 2023
3e4ad66
Fix build: the dump() method is only available in Asserts build (NFC)
joker-eph Oct 17, 2023
6eee238
[unittest] Add option to allow disabling sharding in unittest (#67063)
zeroomega Oct 17, 2023
16a5c71
[LangRef] "cc 10" -> "ghccc" (#69380)
aeubanks Oct 17, 2023
bd0fc48
[sanitizer_common] Use 38-bit mmap range for Fuchsia (#69387)
PiJoules Oct 18, 2023
6971081
[Docs] Remove future extensions section from writing a pass docs (#69…
boomanaiden154 Oct 18, 2023
5a56f00
[M68k] Fix assertion build after cc6a5ea6e33d3febafc4334617230c528a0c…
MaskRay Oct 18, 2023
659a48f
Detect against invalid variant index for LibStdC++ std::variant data …
jeffreytan81 Oct 18, 2023
0b2924a
[Docs][NFC] fix URL
yuanfang-chen Oct 18, 2023
ae3ba72
[RISCV][GlobalISel] Select G_FRAME_INDEX (#68254)
nitinjohnraj Oct 18, 2023
beffc82
[CodeLayout] CDSortImpl: remove HotChains and remove linear-time eras…
MaskRay Oct 18, 2023
b427388
[PowerPC] Auto gen test checks for #69299. NFC.
Oct 18, 2023
ed1d290
[Driver][NFC] Remove identifier with the comment (#68351)
brad0 Oct 18, 2023
c464fea
[DAG] Constant fold FMAD (#69324)
Pierre-vh Oct 18, 2023
279c155
[CodeGen] Remove unused function isMSInlineAsm (#69132)
kazutakahirata Oct 18, 2023
3343020
[ModuleInliner] Fix the heap maintenance (#69251)
kazutakahirata Oct 18, 2023
0c2d28a
[X86] Add tests for transform `(icmp eq/ne (and X, C0), (shift X, C1)…
goldsteinn Sep 20, 2023
112e49b
[DAGCombiner] Transform `(icmp eq/ne (and X,C0),(shift X,C1))` to use…
goldsteinn Oct 17, 2023
51a2ac6
[flang] Fold IS_CONTIGUOUS of component refs with non-contiguous base…
jeanPerier Oct 18, 2023
f48dab5
Add RV64 constraint to SRLIW (#69416)
sunshaoce Oct 18, 2023
e93bddb
[AArch64][GlobalISel] Precommit indexed sextload/zextload tests.
aemerson Oct 17, 2023
7cd7b95
[BOLT] Fix instrumentation test (#69383)
yota9 Oct 18, 2023
8c369eb
nfc, address post commit comments related to code format for 581c64a
Oct 18, 2023
48a5350
[clang][USR] Encode full decl-context also for anon namespaces (#68325)
kadircet Oct 18, 2023
b4b35a5
[clang] [unittest] Add a test for Generic_GCC::GCCVersion::Parse (#69…
mstorsjo Oct 18, 2023
d7246c1
[gn build] Port b4b35a5d2b4e
llvmgnsyncbot Oct 18, 2023
975ec83
[compiler-rt] Only build SME ABI routines for baremetal or platforms …
sdesmalen-arm Oct 18, 2023
675231e
[SVE ACLE] Allow default zero initialisation for svcount_t. (#69321)
paulwalker-arm Oct 18, 2023
104db26
[AMDGPU] Fix image intrinsic optimizer on loads from different resour…
jayfoad Oct 18, 2023
0dca566
Revert "Detect against invalid variant index for LibStdC++ std::varia…
DavidSpickett Oct 18, 2023
c926291
[MLIR][TOSA] Fix f16/bf16 support for MaxPool2D (#69332)
dchauhan-arm Oct 18, 2023
868abf0
Revert "[AMDGPU] Remove Code Object V3 (#67118)"
Pierre-vh Oct 18, 2023
ebdb0cb
Add missing test from #68661
nicolasvasilache Oct 18, 2023
9322a0c
[Clang] Run update_cc_test_checks across SVE acle tests.
paulwalker-arm Oct 18, 2023
cbbb545
[lld] Sort code section chunks by range types on Arm64EC targets. (#6…
cjacek Oct 18, 2023
66c9915
[clang][Interp][NFC] Remove from(Boolean) overload
tbaederr Oct 18, 2023
561fcf5
[BOLT][test] Update checkvma-large-section.test (#69419)
aaupov Oct 18, 2023
c060757
[ARM] Correct v2i1 concat extract types.
davemgreen Oct 18, 2023
1072b94
Revert "[clang] [unittest] Add a test for Generic_GCC::GCCVersion::Pa…
mstorsjo Oct 18, 2023
ae89497
[gn build] Port 1072b94ed8e5
llvmgnsyncbot Oct 18, 2023
730df5a
[Support] Add KnownBits::computeForSubBorrow (#67788)
christiankissig Oct 18, 2023
69660cc
[builtins] Convert more int to fp functions to use common implementat…
asb Oct 18, 2023
dc27d21
[mlir][nvvm] Use NVVMMemorySpace instead of hardcoded values (nfc)
grypp Oct 18, 2023
00f34ee
[clang] Bail out if the result of function template instantiation is …
VitaNuo Oct 18, 2023
18e5055
[mlir][LLVM] Improve function debug info import (#69446)
gysit Oct 18, 2023
28e4f97
[AMDGPU] Save/Restore SCC bit across waterfall loop. (#68363)
srpande Oct 18, 2023
b0b8e83
[mlir] Fix use-after-free bugs in {RankedTensorType|VectorType}::Buil…
MacDue Oct 18, 2023
178619d
[Clang] Fill in documentation gaps for some attributes (#68967)
SLTozer Oct 18, 2023
cf1bde9
[Driver] Link Flang runtime on Solaris (#65644)
rorth Oct 18, 2023
a3a0f59
Revert "Correctly compute conversion seq for args to fn with reversed…
steelannelida Oct 18, 2023
5a600c2
[mlir][python] Expose `PyInsertionPoint`'s reference operation (#69082)
tlongeri Oct 18, 2023
1b93e15
[Clang][SVE2p1] Add svpsel builtins
CarolineConcatto Oct 18, 2023
0a9bdc2
[lldb] Fix linking to libtinfo (#69458)
haampie Oct 18, 2023
e7432bc
[InstCombine] Add aligned_alloc with pointer icmp as only use.
fhahn Oct 18, 2023
d0e8f33
[flang][openacc] Fixed private/reduction for combined constructs. (#6…
vzakhari Oct 18, 2023
df3478e
[LLVM] Add new attribute `optdebug` to optimize for debugging (#66632)
SLTozer Oct 18, 2023
9f49509
[mlir] Add ContractionOpInterface utility functions for vector matrix…
NatashaKnk Oct 18, 2023
ec0e556
[ELF] Merge copyLocalSymbols and demoteLocalSymbolsInDiscardedSection…
MaskRay Oct 18, 2023
cba4e7e
[MLIR][Doc] Clarify the cf.asssert doc that this is a runtime assertion
joker-eph Oct 18, 2023
e3ae2a5
[llvm][CMake] Check dependency cxx source compiles (#68549)
ekilmer Oct 18, 2023
c80b503
[SLP] Improve gather tree nodes matching when users are PHIs. (#69392)
Oct 18, 2023
814a79a
[DebugInfo] Separate error generation from reporting in DWARFHeaderUn…
bulbazord Oct 18, 2023
98191d7
[CONCEPTS]Corrected comparison of constraints with out of line CTD (#…
erichkeane Oct 18, 2023
e7b827e
Add a FIXME comment; NFC
AaronBallman Oct 18, 2023
bf7a826
[Presburger] Fraction: resolve ambiguous overload in some cases
Superty Oct 18, 2023
47ed921
[AMDGPU] Add legality check when folding short 64-bit literals (#69391)
rampitec Oct 18, 2023
7b94744
[Kaleidoscope] Switch to the new PassManager. (#69032)
Logikable Oct 18, 2023
5987123
[clang-tidy][DOC] Fix list.rst
PiotrZSL Oct 18, 2023
ecd3934
[mlir] ADTExtras: include mlir/Support/LLVM.h (#69479)
cota Oct 18, 2023
1891d21
[clang-tidy][DOC] Fix syntax in coroutine-hostile-raii.rst
PiotrZSL Oct 18, 2023
410f413
Add missing include breaking the modules build
adrian-prantl Oct 18, 2023
708808e
[Sema] Add check for bitfield assignments to integral types (#69049)
vabridgers Oct 18, 2023
3ef271c
[SLP][NFC]Use MutableArrayRef instead of SmallVectorImpl& in param, NFC.
alexey-bataev Oct 18, 2023
1e5fe67
[Libomptarget] Make the references to 'malloc' and 'free' weak. (#69356)
jhuber6 Oct 18, 2023
b69081e
Attributes (#69358)
jhuber6 Oct 18, 2023
8e810dc
[SystemZ] Support builtin_{frame,return}_address() with non-zero argu…
iii-i Oct 18, 2023
a587f42
[TableGen] SubtargetEmitter must use std::nullopt (#69475)
redstar Oct 18, 2023
1a21196
[MLIR] reverse int8 type's printing logic (#69361)
yaochengji Oct 18, 2023
fea55db
[clang-tidy][DOC] Fix syntax in coroutine-hostile-raii.rst
PiotrZSL Oct 18, 2023
192d332
[mlir][nvgpu] Add predicate argument to NVGPU Ops (#69322)
grypp Oct 18, 2023
ddf1de2
[hwasan] Fix rare false negative (zero tag) in stack-uar.c (#69374)
thurstond Oct 18, 2023
eee8dd9
[CodeExtractor] Allow to use 0 addr space for aggregate arg (#66998)
DominikAdamski Oct 18, 2023
10079a2
[HIP] Document func ptr and virtual func (#68126)
yxsamliu Oct 18, 2023
c9b7d21
[CFI/MergeFunctions] Modify MergeFunctions to propagate type informat…
oskarwirga Oct 18, 2023
3927b9a
[VectorCombine] Add tests for unspeculatable VP binops. NFC
lukel97 Oct 18, 2023
f362be5
[libc++][NFC] Reformat new.cpp and stdlib_new_delete.cpp
ldionne Oct 18, 2023
84f398a
[AMDGPU] Add missing test checks. NFC. (#69484)
rampitec Oct 18, 2023
e494a96
[libc++][NFC] Refactor the core logic of operator new into helper fun…
ldionne Oct 18, 2023
8a70102
[ARM] Lower i1 concat via MVETRUNC
davemgreen Oct 18, 2023
e8fe4de
[CodeGen] -fsanitize=alignment: add cl::opt sanitize-alignment-builti…
MaskRay Oct 18, 2023
781424c
[compiler-rt] Fix a warning
kazutakahirata Oct 18, 2023
306f4c3
[mlir][sparse] implement non-permutation MapRef encoding (#69406)
aartbik Oct 18, 2023
400389d
Initialize sigset in asan_interceptors (#69502)
itf Oct 18, 2023
3fb3df3
[ModuleInliner] Use SmallVector::pop_back_val (NFC)
kazutakahirata Oct 18, 2023
4a06332
[SLP][NFC]Use MutableArrayRef instead of SmallVectorImpl&, rename
alexey-bataev Oct 18, 2023
81d651e
[ModuleInliner] Update a comment (NFC)
kazutakahirata Oct 18, 2023
6c6749c
[mlir][sparse] Update examples in Ops.td (#69499)
yinying-lisa-li Oct 18, 2023
98e95a0
[AMDGPU] Make S_MOV_B64_IMM_PSEUDO foldable (#69483)
rampitec Oct 18, 2023
040df12
[RISCV] Don't let performBUILD_VECTORCombine form a division or remai…
topperc Oct 18, 2023
6a7f0b9
workflows/release-lit: Fix dev suffix removal (#69397)
tstellar Oct 18, 2023
1db8abf
workflows/release-lit: Pass correct build directory to pypa/gh-action…
tstellar Oct 18, 2023
0ae998c
[clang-format] Fix a bug in annotating TrailingReturnArrow (#69249)
owenca Oct 18, 2023
b8b7c3b
[Kaleidoscope] Register new dependencies introduced by #69032. (#69510)
Logikable Oct 18, 2023
077d89f
[DWARFLinker] Only extract unit DIEs when cloning clang modules (#69495)
JDevlieghere Oct 18, 2023
362b115
[flang][openacc] Avoid privatizing symbols during semantics (#69506)
razvanlupusoru Oct 18, 2023
3745e70
[Tosa] Rename variables to coding style guideline (#69509)
Tai78641 Oct 18, 2023
85b8958
[WebAssembly] add: hidden option to disable slow wasm pass (#67715)
ajbt200128 Oct 18, 2023
5f5faf4
[RISCV][GISel] Add ISel supports for SHXADD from Zba extension (#67863)
mshockwave Oct 18, 2023
7aa2491
[clang] Expand invalid PCM diagnostic (#69489)
NuriAmari Oct 18, 2023
f3ea731
[ELF] Set large section flag for globals with an explicit section (#6…
aeubanks Oct 18, 2023
cfbf0a5
[X86][RFC] Support AVX10 options (#67278)
phoebewang Oct 18, 2023
5b83bd1
[llvm] Use StringRef::contains (NFC)
kazutakahirata Oct 19, 2023
2172eea
[clang-format][NFC] Take a constant conjunct out of a loop condition
owenca Oct 19, 2023
b2e487d
[llvm] Use StringRef::contains (NFC)
kazutakahirata Oct 19, 2023
0913a2d
[Driver][DragonFly] Fixes for linker path and command-line option han…
brad0 Oct 19, 2023
e103515
[RISCV][GISel] Support passing arguments through the stack. (#69289)
topperc Oct 19, 2023
f16cb0e
[mlir][sparse] connect MapRef's lvl2dim with latest AffineMap computa…
aartbik Oct 19, 2023
8ff3e4f
[InstCombine] Refactor matchFunnelShift to allow more pattern (NFC) (…
HaohaiWen Oct 19, 2023
ab301d8
[ELF][test] --emit-relocs: test ALLOC sections discarded by --gc-sect…
MaskRay Oct 19, 2023
271087e
[LoongArch] Implement COPY instruction between CFRs (#69300)
wangleiat Oct 19, 2023
78abc45
[LoongArch] Improve codegen for atomic cmpxchg ops (#69339)
SixWeining Oct 19, 2023
d11c454
[Support] Use StringRef::contains_insensitive (NFC)
kazutakahirata Oct 19, 2023
04d6308
[mlir] Add debug messages for failures of isValidIntOrFloat
j2kun Oct 18, 2023
5e30c74
[mlir] Use the process (host) triple in MLIRTargetLLVMTests (#69538)
sstamenova Oct 19, 2023
74b0465
[libc] Add simple features.h with implementation macro (#69402)
alfredfo Oct 19, 2023
fb36658
[Memory] Call __clear_cache in InvalidateInstructionCache on LoongArc…
SixWeining Oct 19, 2023
fd1a0b0
nfc, add test case for llvm-symbolizer on XCOFF
Oct 19, 2023
1196e6d
[libc++] Move the check-generated-files job to Github Actions (#68920)
ldionne Oct 19, 2023
208a6d9
[libc++] Fix inconsistency between is_lock_free and is_always_lock_fr…
ldionne Oct 19, 2023
654a3a3
[OpenCL][RISCV] Support SPIR_KERNEL calling convention (#69282)
wangpc-pp Oct 19, 2023
a574242
[libc++][docs] Update contributing docs to reflect the move to GitHub…
ldionne Oct 19, 2023
ea9af5e
[libc++] Add assertions for potential OOB reads in std::nth_element (…
danlark1 Oct 19, 2023
d6a9261
[libc++] Improve the tests for std::basic_stringbuf's constructors an…
pfusik Oct 13, 2023
b858309
[mlir] Only attempt to vectorize conv if conv.
jpienaar Oct 19, 2023
8175190
[SPIR-V] Emit proper pointer type for OpenCL kernel arguments (#67726)
michalpaszkowski Oct 19, 2023
d51855f
[RISCV] Fix assertion failure from performBUILD_VECTORCombine when th…
topperc Oct 19, 2023
be215e7
[SPIR-V] Remove calls to deprecated PointerType methods (1/2) (#68336)
michalpaszkowski Oct 19, 2023
f4231bf
[RISCV] Replace PostRAScheduler with PostMachineScheduler (#68696)
wangpc-pp Oct 19, 2023
1be3b1e
[RISCV] Remove FrameIndex case in lui+addi MacroFusion (#68701)
wangpc-pp Oct 19, 2023
80b2aac
[Github] Make PR formatting job only run with C/C++ changes (#69556)
boomanaiden154 Oct 19, 2023
cffb9df
[Github] Add steps to build clang docs to CI (#69550)
boomanaiden154 Oct 19, 2023
59d2dc2
[clang][Interp] IntegralAP zero-initializers (#68081)
tbaederr Oct 19, 2023
e4ea099
Revert "[VPlan] Insert Trunc/Exts for reductions directly in VPlan."
MaskRay Oct 19, 2023
cd205ef
Revert "[Github] Make PR formatting job only run with C/C++ changes (…
boomanaiden154 Oct 19, 2023
39427b1
Reapply "[clang analysis][thread-safety] Handle return-by-reference..…
legrosbuffle Oct 19, 2023
a3bbab1
[IR] Don't mark experimental.guard as willreturn (#69433)
nikic Oct 19, 2023
7f1733a
[GVN] Fix use-after-free in load PRE with select available value (#69…
nikic Oct 19, 2023
278e533
[X86] Support -march=pantherlake,clearwaterforest (#69277)
FreddyLeaf Oct 19, 2023
e63ab13
[clangd] Disable crashy unchecked-optional-access tidy check (#69427)
kadircet Oct 19, 2023
db9b6f4
[Tablegen] Add keyword `dump`. (#68793)
fpetrogalli Oct 19, 2023
4d8ea66
[compiler-rt] Fix a warning
kazutakahirata Oct 19, 2023
411c4ed
[ReleaseNotes][TableGen] Add `dump` and `!repr`. (#68893)
fpetrogalli Oct 19, 2023
4168845
[TableGen] Update editor modes for new keywords and bang operators. (…
fpetrogalli Oct 19, 2023
5341d54
[RISCV] Combine (and (select cond, x, -1), c) to (select cond, x, (an…
yetingk Oct 19, 2023
5316d19
[mlir][nvvm] Introduce `nvvm.stmatrix` Op (#69467)
grypp Oct 19, 2023
9ea2fd2
[FunctionAttrs] Add additional tests for writeonly (NFC)
nikic Oct 19, 2023
de65b6b
[Clang] Add __builtin_vectorelements to get number of elements in vec…
lawben Oct 19, 2023
f681225
[mlir][transform] Support symlinks in module loading. Reorganize test…
ingomueller-net Oct 19, 2023
9f0f606
[clang] Provide an SSE4.2 implementation of identifier token lexer (#…
serge-sans-paille Oct 19, 2023
c122b97
Revert "[mlir][transform] Support symlinks in module loading. Reorgan…
ingomueller-net Oct 19, 2023
ba47bc7
[Clang][SVE2.1] Add pfalse builtin
CarolineConcatto Oct 18, 2023
3517b67
Reapply "[mlir][transform] Support symlinks in module loading. Reorga…
ingomueller-net Oct 19, 2023
d404130
[libc] Fix accidental LIBC_NAMESPACE_syscall definition (#69548)
alfredfo Oct 19, 2023
7338eb5
Reapply "[dataflow] use true/false literals in formulas, rather than …
sam-mccall Oct 19, 2023
b49f846
[Flang][OpenMP][Sema] Add directive rewrite pass to support atomic_de…
skatrak Aug 16, 2023
2b97fe2
[clang][Interp][NFC] Add more tests for bitfield initializers
tbaederr Oct 19, 2023
d2edff8
[AMDGPU] PeepholeSDWA: Don't assume inst srcs are registers (#69576)
Pierre-vh Oct 19, 2023
202de4a
Fix __builtin_vectorelements tests with REQUIRES (#69582)
lawben Oct 19, 2023
b3c4f64
[ARM] fix "+fp.dp" in multilib selection (#67412)
domin144 Oct 19, 2023
0e1d723
[clang][Interp][NFC] Use an APInt instead of APSint
tbaederr Oct 19, 2023
4ed0dfe
[Clang][SVE2.1] Add svwhile (predicate-as-counter) builtins
CarolineConcatto Oct 18, 2023
c43ac32
[DAG] Expand vXi1 add/sub overflow operations as xor/and (#69191)
RKSimon Oct 19, 2023
906d3ff
[AMDGPU] Remove legality checks from imm folding in shrink. NFCI. (#6…
rampitec Oct 19, 2023
f35f990
Merge commit '906d3ff054b0ca6439521e8871bac54843cc73a2' into feature/…
kaz7 Oct 19, 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
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .ci/generate-buildkite-pipeline-premerge
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,11 @@ set -eu
set -o pipefail

# Environment variables script works with:

# Fetch origin/main to have an up to date merge base for main...HEAD diff.
git fetch origin main:main
# List of files affected by this commit
: ${MODIFIED_FILES:=$(git diff --name-only HEAD~1)}
: ${MODIFIED_FILES:=$(git diff --name-only main...HEAD)}
# Filter rules for generic windows tests
: ${WINDOWS_AGENTS:='{"queue": "windows"}'}
# Filter rules for generic linux tests
Expand Down
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,5 @@
/clang/test/CXX/drs/ @Endilll
/clang/www/cxx_dr_status.html @Endilll
/clang/www/make_cxx_dr_status @Endilll

/lldb/ @JDevlieghere
32 changes: 32 additions & 0 deletions .github/new-prs-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -794,3 +794,35 @@ llvm:binary-utilities:
- llvm/tools/llvm-size/**
- llvm/tools/llvm-strings/**
- llvm/tools/llvm-symbolizer/**

clang:openmp:
- clang/include/clang/Basic/OpenMP*
- clang/include/clang/AST/OpenMPClause.h
- clang/include/clang/AST/DeclOpenMP.h
- clang/include/clang/AST/ExprOpenMP.h
- clang/include/clang/AST/StmtOpenMP.h
- clang/lib/AST/DeclOpenMP.cpp
- clang/lib/AST/OpenMPClause.cpp
- clang/lib/AST/StmtOpenMP.cpp
- clang/lib/Headers/openmp_wrappers/**
- clang/lib/Parse/ParseOpenMP.cpp
- clang/lib/Basic/OpenMPKinds.cpp
- clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
- clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
- clang/lib/CodeGen/CgStmtOpenMP.cpp
- clang/lib/CodeGen/CGOpenMP*
- clang/lib/Sema/SemaOpenMP.cpp
- clang/test/OpenMP/**
- clang/test/AST/ast-dump-openmp-*
- llvm/lib/Frontend/OpenMP/**
- llvm/lib/Transforms/IPO/OpenMPOpt.cpp
- llvm/include/llvm/Frontend/OpenMP/**
- llvm/include/llvm/Transforms/IPO/OpenMPOpt.h
- llvm/unittests/Frontend/OpenMP*
- llvm/test/Transforms/OpenMP/**

openmp:libomp:
- any: ['openmp/**', '!openmp/libomptarget/**']

openmp:libomptarget:
- any: ['openmp/**', '!openmp/runtime/**']
63 changes: 63 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# LLVM Documentation CI
# 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

name: "Test documentation build"

permissions:
contents: read

on:
push:
branches:
- 'main'
paths:
- 'llvm/docs/**'
- 'clang/docs/**'
pull_request:
paths:
- 'llvm/docs/**'
- 'clang/docs/**'

jobs:
check-docs-build:
name: "Test documentation build"
runs-on: ubuntu-latest
steps:
- name: Fetch LLVM sources
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup Python env
uses: actions/setup-python@v4
with:
python-version: '3.11'
cache: 'pip'
cache-dependency-path: 'llvm/docs/requirements.txt'
- name: Install python dependencies
run: pip install -r llvm/docs/requirements.txt
- 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/**'
- 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
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
TZ=UTC ninja -C clang-build docs-clang-html docs-clang-man

21 changes: 21 additions & 0 deletions .github/workflows/libcxx-check-generated-files.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Check libc++ generated files"
on:
pull_request:
paths:
- 'libcxx/**'

jobs:
check_generated_files:
runs-on: ubuntu-latest
steps:
- name: Fetch LLVM sources
uses: actions/checkout@v4

- name: Install dependencies
uses: aminya/setup-cpp@v1
with:
clangformat: 17.0.1
ninja: true

- name: Check generated files
run: libcxx/utils/ci/run-buildbot check-generated-output
4 changes: 3 additions & 1 deletion .github/workflows/release-tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,16 +104,18 @@ jobs:
run: |
cd llvm/utils/lit
# Remove 'dev' suffix from lit version.
sed -i "s/ + 'dev'//g" lit/__init__.py
sed -i 's/ + "dev"//g' lit/__init__.py
python3 setup.py sdist

- name: Upload lit to test.pypi.org
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.LLVM_LIT_TEST_PYPI_API_TOKEN }}
repository-url: https://test.pypi.org/legacy/
packages-dir: llvm/utils/lit/dist/

- name: Upload lit to pypi.org
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.LLVM_LIT_PYPI_API_TOKEN }}
packages-dir: llvm/utils/lit/dist/
21 changes: 17 additions & 4 deletions bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,6 @@ class BinaryFunction {
static constexpr uint64_t COUNT_NO_PROFILE =
BinaryBasicBlock::COUNT_NO_PROFILE;

/// We have to use at least 2-byte alignment for functions because of C++ ABI.
static constexpr unsigned MinAlign = 2;

static const char TimerGroupName[];
static const char TimerGroupDesc[];

Expand Down Expand Up @@ -1720,8 +1717,24 @@ class BinaryFunction {
return *this;
}

Align getAlign() const { return Align(Alignment); }
uint16_t getMinAlignment() const {
// 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;
}

Align getMinAlign() const { return Align(getMinAlignment()); }

uint16_t getAlignment() const { return Alignment; }
Align getAlign() const { return Align(getAlignment()); }

BinaryFunction &setMaxAlignmentBytes(uint16_t MaxAlignBytes) {
MaxAlignmentBytes = MaxAlignBytes;
Expand Down
1 change: 1 addition & 0 deletions bolt/include/bolt/Core/MCPlus.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ class MCAnnotation {
kTailCall, /// Tail call.
kConditionalTailCall, /// CTC.
kOffset, /// Offset in the function.
kLabel, /// MCSymbol pointing to this instruction.
kGeneric /// First generic annotation.
};

Expand Down
21 changes: 16 additions & 5 deletions bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ class MCPlusBuilder {
const MCInstrAnalysis *Analysis;
const MCInstrInfo *Info;
const MCRegisterInfo *RegInfo;
const MCSubtargetInfo *STI;

/// Map annotation name into an annotation index.
StringMap<uint64_t> AnnotationNameIndexMap;
Expand Down Expand Up @@ -331,8 +332,8 @@ class MCPlusBuilder {

public:
MCPlusBuilder(const MCInstrAnalysis *Analysis, const MCInstrInfo *Info,
const MCRegisterInfo *RegInfo)
: Analysis(Analysis), Info(Info), RegInfo(RegInfo) {
const MCRegisterInfo *RegInfo, const MCSubtargetInfo *STI)
: Analysis(Analysis), Info(Info), RegInfo(RegInfo), STI(STI) {
// Initialize the default annotation allocator with id 0
AnnotationAllocators.emplace(0, AnnotationAllocator());
MaxAllocatorId++;
Expand Down Expand Up @@ -1179,6 +1180,13 @@ class MCPlusBuilder {
/// Remove offset annotation.
bool clearOffset(MCInst &Inst);

/// Return the label of \p Inst, if available.
std::optional<MCSymbol *> getLabel(const MCInst &Inst) 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, AllocatorIdTy AllocatorId = 0);

/// Return MCSymbol that represents a target of this instruction at a given
/// operand number \p OpNum. If there's no symbol associated with
/// the operand - return nullptr.
Expand Down Expand Up @@ -2079,15 +2087,18 @@ class MCPlusBuilder {

MCPlusBuilder *createX86MCPlusBuilder(const MCInstrAnalysis *,
const MCInstrInfo *,
const MCRegisterInfo *);
const MCRegisterInfo *,
const MCSubtargetInfo *);

MCPlusBuilder *createAArch64MCPlusBuilder(const MCInstrAnalysis *,
const MCInstrInfo *,
const MCRegisterInfo *);
const MCRegisterInfo *,
const MCSubtargetInfo *);

MCPlusBuilder *createRISCVMCPlusBuilder(const MCInstrAnalysis *,
const MCInstrInfo *,
const MCRegisterInfo *);
const MCRegisterInfo *,
const MCSubtargetInfo *);

} // namespace bolt
} // namespace llvm
Expand Down
4 changes: 4 additions & 0 deletions bolt/include/bolt/Core/Relocation.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,10 @@ struct Relocation {
/// Return true if relocation type is for thread local storage.
static bool isTLS(uint64_t Type);

/// Return true of relocation type is for referencing a specific instruction
/// (as opposed to a function, basic block, etc).
static bool isInstructionReference(uint64_t Type);

/// Return code for a NONE relocation
static uint64_t getNone();

Expand Down
3 changes: 2 additions & 1 deletion bolt/include/bolt/Rewrite/RewriteInstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -584,7 +584,8 @@ class RewriteInstance {
MCPlusBuilder *createMCPlusBuilder(const Triple::ArchType Arch,
const MCInstrAnalysis *Analysis,
const MCInstrInfo *Info,
const MCRegisterInfo *RegInfo);
const MCRegisterInfo *RegInfo,
const MCSubtargetInfo *STI);

} // namespace bolt
} // namespace llvm
Expand Down
6 changes: 6 additions & 0 deletions bolt/lib/Core/BinaryContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1803,6 +1803,10 @@ MarkerSymType BinaryContext::getMarkerType(const SymbolRef &Symbol) const {
if (*NameOrError == "$x" || NameOrError->startswith("$x."))
return MarkerSymType::CODE;

// $x<ISA>
if (isRISCV() && NameOrError->startswith("$x"))
return MarkerSymType::CODE;

if (*NameOrError == "$d" || NameOrError->startswith("$d."))
return MarkerSymType::DATA;

Expand Down Expand Up @@ -1888,6 +1892,8 @@ void BinaryContext::printInstruction(raw_ostream &OS, const MCInst &Instruction,
}
if (std::optional<uint32_t> Offset = MIB->getOffset(Instruction))
OS << " # Offset: " << *Offset;
if (auto Label = MIB->getLabel(Instruction))
OS << " # Label: " << **Label;

MIB->printAnnotations(Instruction, OS);

Expand Down
5 changes: 4 additions & 1 deletion bolt/lib/Core/BinaryEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ bool BinaryEmitter::emitFunction(BinaryFunction &Function,
// tentative layout.
Section->ensureMinAlignment(Align(opts::AlignFunctions));

Streamer.emitCodeAlignment(Align(BinaryFunction::MinAlign), &*BC.STI);
Streamer.emitCodeAlignment(Function.getMinAlign(), &*BC.STI);
uint16_t MaxAlignBytes = FF.isSplitFragment()
? Function.getMaxColdAlignmentBytes()
: Function.getMaxAlignmentBytes();
Expand Down Expand Up @@ -498,6 +498,9 @@ void BinaryEmitter::emitFunctionBody(BinaryFunction &BF, FunctionFragment &FF,
BB->getLocSyms().emplace_back(Offset, LocSym);
}

if (auto Label = BC.MIB->getLabel(Instr))
Streamer.emitLabel(*Label);

Streamer.emitInstruction(Instr, *BC.STI);
LastIsPrefix = BC.MIB->isPrefix(Instr);
}
Expand Down
34 changes: 30 additions & 4 deletions bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,6 @@ bool shouldPrint(const BinaryFunction &Function) {
namespace llvm {
namespace bolt {

constexpr unsigned BinaryFunction::MinAlign;

template <typename R> static bool emptyRange(const R &Range) {
return Range.begin() == Range.end();
}
Expand Down Expand Up @@ -1173,6 +1171,13 @@ bool BinaryFunction::disassemble() {
// basic block.
Labels[0] = Ctx->createNamedTempSymbol("BB0");

// Map offsets in the function to a label that should always point to the
// corresponding instruction. This is used for labels that shouldn't point to
// the start of a basic block but always to a specific instruction. This is
// used, for example, on RISC-V where %pcrel_lo relocations point to the
// corresponding %pcrel_hi.
LabelsMapType InstructionLabels;

uint64_t Size = 0; // instruction size
for (uint64_t Offset = 0; Offset < getSize(); Offset += Size) {
MCInst Instruction;
Expand Down Expand Up @@ -1329,9 +1334,23 @@ bool BinaryFunction::disassemble() {
ItrE = Relocations.lower_bound(Offset + Size);
Itr != ItrE; ++Itr) {
const Relocation &Relocation = Itr->second;
MCSymbol *Symbol = Relocation.Symbol;

if (Relocation::isInstructionReference(Relocation.Type)) {
uint64_t RefOffset = Relocation.Value - getAddress();
LabelsMapType::iterator LI = InstructionLabels.find(RefOffset);

if (LI == InstructionLabels.end()) {
Symbol = BC.Ctx->createNamedTempSymbol();
InstructionLabels.emplace(RefOffset, Symbol);
} else {
Symbol = LI->second;
}
}

int64_t Value = Relocation.Value;
const bool Result = BC.MIB->replaceImmWithSymbolRef(
Instruction, Relocation.Symbol, Relocation.Addend, Ctx.get(), Value,
Instruction, Symbol, Relocation.Addend, Ctx.get(), Value,
Relocation.Type);
(void)Result;
assert(Result && "cannot replace immediate with relocation");
Expand Down Expand Up @@ -1366,6 +1385,13 @@ bool BinaryFunction::disassemble() {
addInstruction(Offset, std::move(Instruction));
}

for (auto [Offset, Label] : InstructionLabels) {
InstrMapType::iterator II = Instructions.find(Offset);
assert(II != Instructions.end() && "reference to non-existing instruction");

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

// Reset symbolizer for the disassembler.
BC.SymbolicDisAsm->setSymbolizer(nullptr);

Expand Down Expand Up @@ -4489,7 +4515,7 @@ void BinaryFunction::addRelocation(uint64_t Address, MCSymbol *Symbol,
uint64_t Offset = Address - getAddress();
LLVM_DEBUG(dbgs() << "BOLT-DEBUG: addRelocation in "
<< formatv("{0}@{1:x} against {2}\n", *this, Offset,
Symbol->getName()));
(Symbol ? Symbol->getName() : "<undef>")));
bool IsCI = BC.isAArch64() && isInConstantIsland(Address);
std::map<uint64_t, Relocation> &Rels =
IsCI ? Islands->Relocations : Relocations;
Expand Down
Loading
Loading