Skip to content

Max.bump 290323 #17

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 1,502 commits into from
Apr 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1502 commits
Select commit Hold shift + click to select a range
a63270c
[docs] Mention removal of legacy optimization pipeline and inliner al…
aeubanks Mar 16, 2023
b0f9206
[libc][Obvious] Remove the STARTUP attribute from the api test listing.
Mar 16, 2023
866fbb8
[NFC][libc++] Formats granularized charconv.
mordante Mar 15, 2023
994cd98
[InstCombine] Add tests for combining (urem/srem (mul/shl X, Y), (mul…
goldsteinn Jan 31, 2023
aba71f3
[InstCombine] Add constant combines for `(urem/srem (mul X, Y), (mul …
goldsteinn Mar 15, 2023
603cdb5
[HWASAN] Disable leak checking for forced_unwind2.pass.cpp
kstoimenov Mar 16, 2023
d73c51b
Fix LLVM Sphinx build
AaronBallman Mar 16, 2023
1da04b0
Fix asan error uncovered after landing D145133.
Mar 16, 2023
248ee65
[scudo] Test ScudoReleaseTest.BufferPool with a buffer pool allocated…
fabio-d Mar 16, 2023
c2a5c41
[DebugInfo][SROA] Correct debug info for global variables spanning mu…
alokkrsharma Nov 3, 2022
a845aeb
[Driver] Allow to collect `-save-stats` data to a file specified in t…
vsapsai Feb 28, 2023
2e8ef93
[libc] [test] Add missing <cstdint> include
thesamesam Mar 16, 2023
49bc307
[AIX] unset bit "IsBackChainStored" of traceback table for leaf funct…
diggerlin Mar 16, 2023
91362e5
[mlir] Fix a warning
kazutakahirata Mar 16, 2023
f7ce987
[mlir][sparse] add a coo slices matmul integration test.
Mar 16, 2023
ee928fc
[mlir][sparse] add new sparisification option for dependent index red…
Jan 18, 2023
74c6671
[SPIRV] fix several issues in builds with expensive checks
iliya-diyachkov Feb 27, 2023
762253b
[DAE] Don't DAE if we musttail call a "live" (non-DAE-able) function
mtrofin Mar 3, 2023
502ab13
[LSR] Add tests which demonstrate miscompiles in the current term-fol…
preames Mar 16, 2023
20f3dc8
[HWASAN] Remove RUN statements, which have to effect on the test
kstoimenov Mar 16, 2023
96118f1
[Inliner] clang-format InlineCost.cpp and Inliner.cpp (NFC)
kazutakahirata Mar 16, 2023
9f991ed
[mlir][StorageUniquer] Use allocators per thread instead of per shard
River707 Mar 14, 2023
3e16488
Mark test added in D145155 as requiring asserts since it uses the "-d…
dyung Mar 16, 2023
91b3051
[RISCV] Remove ExtName from RISCVExtensionInfo.
topperc Mar 16, 2023
f341d7a
[lldb] Make MemoryCache::Read more resilient
bulbazord Mar 7, 2023
29e2a4e
[clang] Unconditionally add autolink hints for frameworks.
ributzka Mar 16, 2023
7e271c2
[TableGen] Fix test on macOS
smeenai Mar 16, 2023
46c8422
[mlir][transform] change RaggedArray internals
ftynse Mar 16, 2023
3e12cc9
[AMDGPU] Simplify AGPR reservation. NFC.
rampitec Mar 16, 2023
88eb4cb
Remove #if guards from AppendBounds to fix compile on old POSIX.
mysterymath Mar 16, 2023
a7aade1
[runtimes] Synchronize warnings flags between libc++/libc++abi/libunwind
philnik777 Feb 17, 2023
1029747
[Sema] Fix null pointer dereference handleAlwaysInlineAttr.
topperc Mar 16, 2023
11da3de
[libc][Obvious] Reduce the size of the tests for hypot(f).
lntue Mar 17, 2023
aa15fe9
Revert "[AMDGPUUnifyDivergentExitNodes] Add NewPM support"
vitalybuka Mar 17, 2023
35c05f0
Revert "[LSAN][HWASAN] Turn on leak sanitizer in HWASAN for Linux"
vitalybuka Mar 17, 2023
4063369
[RISCV] Add MULW to RISCVStripWSuffix.
topperc Mar 17, 2023
e8a632d
Revert "[Sema] Fix null pointer dereference handleAlwaysInlineAttr."
topperc Mar 17, 2023
931d409
ValueTracking: Add start of computeKnownFPClass API
arsenm Feb 1, 2023
b39deda
ValueTracking: Handle nofpclass in computeKnownFPClass
arsenm Feb 24, 2023
8a37512
ValueTracking: Extract fcmpToClassTest out of InstCombine
arsenm Mar 3, 2023
94026ce
Attributor: Start inferring nofpclass
arsenm Feb 24, 2023
9d8b60d
[libcxx] Add status paper for Parallelism-TS
joy2myself Mar 9, 2023
7bb14f1
[X86] Remove unreachable code in X86TargetTransformInfo.cpp
XinWang10 Mar 17, 2023
e82d2e8
Recommit "[Sema] Fix null pointer dereference handleAlwaysInlineAttr."
topperc Mar 17, 2023
0818433
Remove the outdated feature macro '__cpp_coroutines'
ChuanqiXu9 Mar 17, 2023
bf8f684
Revert "[RFC][X86][MemFold] Upgrade the mechanism of auto-generated M…
vitalybuka Mar 17, 2023
e3b4c1b
[X86]add assert to confirm not-null ptr in getArithmeticReductionCost
XinWang10 Mar 17, 2023
684955a
[Modules] [doc] Document the problem that we can't include headers be…
ChuanqiXu9 Mar 17, 2023
bb0548a
[compiler-rt] Avoid signed overflow in floatdidf.c and floatdisf.c
karka228 Mar 17, 2023
bde91fd
[flang] Feature list plugin
EthanLuisMcDonough Mar 17, 2023
4dd5e9c
[X86][MC]Fix wrong action for encode movdir64b
XinWang10 Mar 17, 2023
dc9c7f5
[Tools] Changed the number printing format for sorting
Mar 7, 2023
ee6d07f
[Target][RISCV] Update SubtargetFeature definition for RV32/RV64 (NF…
fpetrogalli Mar 15, 2023
c21790d
[NFC] [C++20] [Modules] Tests that the duplicated declarations in GMF
ChuanqiXu9 Mar 17, 2023
4a2757d
Make globals used for array initialization codegen constant
zmodem Mar 16, 2023
5d27638
[libunwind][AArch64] Unbreak building with GNU assembler
xry111 Mar 17, 2023
fed4e7d
[test][MemDep] Correct the 'NOT' checks in the invalidation.ll test c…
bjope Mar 16, 2023
81d6310
[LAA] Fix transitive analysis invalidation bug by implementing LoopAc…
bjope Mar 16, 2023
951a980
[Analysis] Make order of analysis executions more stable
bjope Mar 16, 2023
a8f6b57
[PassBuilder] Support O0 in default pipelines
nikic Mar 16, 2023
402dfa3
[ValueTracking] Support vscale in computeConstantRange()
nikic Mar 16, 2023
a524248
[SCEV] Recognize vscale intrinsics
nikic Mar 16, 2023
acdb199
[OpenMP] [OMPT] [8/8] Added lit tests for OMPT target callbacks
dhruvachak Mar 17, 2023
9cbeb97
[flang][hlfir] move intrinsic lowering out of BufferizeHLFIR
tblah Mar 17, 2023
3e0f6b2
[flang][hlfir] clean up intrinsic arg extended values
tblah Mar 17, 2023
e29d1d0
[flang][hlfir] add a test chaining intrinsics
tblah Mar 17, 2023
49bd444
[flang][hlfir] add hlfir.matmul_transpose operation
tblah Mar 17, 2023
a351a60
[flang][hlfir] add matmul canonicalizer
tblah Mar 17, 2023
4ff8ba7
[flang] add fused matmul-transpose to the runtime
tblah Mar 17, 2023
43eb96c
[flang][hlfir] lower hlfir.matmul_transpose to runtime call
tblah Mar 17, 2023
138adb0
[clangd] Refine logic on $0 in completion snippets
zyn0217 Mar 14, 2023
d60d345
[clangd] Move standard options adaptor to CommandMangler
dmpolukhin Feb 16, 2023
a171e98
Attributor: Add baseline tests for nofpclass
arsenm Mar 17, 2023
6705f63
Attributor: Start looking at uses when inferring nofpclass
arsenm Mar 3, 2023
78313e8
Attributor: Add isAtFixpoint part of nofpclass handling
arsenm Mar 17, 2023
a157898
Attributor: Update test
arsenm Mar 17, 2023
d2404ea
Attributor: Assume handling for nofpclass
arsenm Mar 3, 2023
68b3396
Roll back claims that we implement P0960R3 and P1975R0
AaronBallman Mar 17, 2023
221512e
Revert "Attributor: Add isAtFixpoint part of nofpclass handling"
arsenm Mar 17, 2023
86bce12
[bazel] update build for d60d3455eb2
metaflow Mar 17, 2023
2d91b0d
[libclang] Fix documentation; NFC
vedgy Mar 17, 2023
e495eab
[clang] Include the error message in file reading error diagnostic
zmodem Mar 17, 2023
62f09d7
[Clang] Stop demoting ElementCount/TypeSize conversion errors to warn…
paulwalker-arm Mar 14, 2023
f9bf9f9
[BOLT] Add .relr.dyn section support
yota9 Mar 14, 2023
687b5b9
[SCEVExpander] Always use scevgep as name
nikic Mar 17, 2023
c9987f0
[lldb][PDB] Rename GetDeclarationForSymbol() -> AddSourceInfoToDecl()
weliveindetail Mar 17, 2023
ca3f7a5
[Docs] Fix typo in LoopTerminology.
CarlosAlbertoEnciso Mar 17, 2023
5ecba15
[Polly] Convert some tests to opaque pointers (NFC)
nikic Mar 17, 2023
2147e94
Add __builtin_FILE_NAME()
IlyaVir Mar 17, 2023
565b98e
[LV] Convert consecutive-ptr-uniforms.ll to use opaque pointers (NFC).
fhahn Mar 17, 2023
fc78eba
[Polly] Convert some tests to opaque pointers (NFC)
nikic Mar 17, 2023
61f2f2c
GlobalISel: Use FPClassTest in is.fpclass lowering
arsenm Mar 17, 2023
a4bb037
[LV] Add test where pointer is incorrectly marked as uniform.
fhahn Mar 17, 2023
49f9af1
[LLDB] Remove some typed pointer code (NFCI)
nikic Mar 17, 2023
5810efa
InstCombine: Add a few more tests for is.fpclass folding
arsenm Mar 15, 2023
55cb579
[Polly] Convert remaining tests to opaque pointers (NFC)
nikic Mar 17, 2023
482d22d
[clang][test] Fix -DBUILD_SHARED_LIBS build by adding depency on MC f…
asb Mar 17, 2023
cd47f5b
[LSR] Minor code style improvement [nfc]
preames Mar 17, 2023
18680a3
[Polly] Remove some bitcasts (NFC)
nikic Mar 17, 2023
c60e0b6
[LSR] Another minor code style improvement [nfc]
preames Mar 17, 2023
7af9196
[Hexagon] Add debug code to HVC::AlignVectors
Mar 17, 2023
5a94669
[Hexagon] Add names to all instructions created in HVC
Mar 17, 2023
0eac3c5
[Hexagon] Ensure proper ordering of instructions in HVC::AlignVectors
Mar 17, 2023
9356ec1
CodeGen: Reorder case handling for is.fpclass legalization
arsenm Feb 2, 2023
b5ff764
InstCombine: Fold is.fpclass nan|zero to fcmp ueq 0
arsenm Feb 3, 2023
3a1fb67
[LSR] Cleanup term-fold tests
preames Mar 17, 2023
2726fd2
Revert "InstCombine: Fold is.fpclass nan|zero to fcmp ueq 0"
arsenm Mar 17, 2023
8051278
InstCombine: Fold is.fpclass nan|zero to fcmp ueq 0
arsenm Feb 3, 2023
9f93b71
[flang] Use llvm-readobj instead of llvm-readelf in rv64 test
DavidSpickett Mar 17, 2023
ec2234a
InstCombine: Fold is.fpclass for single infinity to fcmp
arsenm Dec 11, 2022
c54c90d
[libc++][NFC] Fix typo in comment
ldionne Mar 17, 2023
4361ba7
Revert "[Coroutines] Fix premature conversion of return object"
ilya-biryukov Mar 17, 2023
4743c03
[Docs] Add release notes for D146089.
topperc Mar 17, 2023
2c78a9e
[AST] Use ModRefInfo to represent access kind (NFC)
nikic Mar 17, 2023
03aa02a
[fuzzer] Use puts() rather than printf() in CopyFileToErr()
Mar 16, 2023
ef006eb
[CodeView] Add source languages ObjC and ObjC++
weliveindetail Mar 17, 2023
55140fb
[StandardInstrumentations] Check that module analyses are properly in…
aeubanks Mar 16, 2023
0cd31a7
[Flang][Driver] Add support for fopenmp-is-device and fembed-offload-…
agozillon Mar 17, 2023
e775c92
[LICM] Regenerate test checks (NFC)
nikic Mar 17, 2023
807d397
[clang] Fix two unused variable warnings from if statements. NFC
topperc Mar 17, 2023
9aa01c4
[LV] Remove scalable constraints on creating bitcasts
huntergr-arm Mar 16, 2023
4e4af13
[mlir][gpu][nvvm] fixed bug with literal for inline asm for mma instr…
aartbik Mar 15, 2023
3ddc88c
Revert "[AST] Use ModRefInfo to represent access kind (NFC)"
nikic Mar 17, 2023
962c306
[LV] Don't consider pointer as uniform if it is also stored.
fhahn Mar 17, 2023
27a2940
[Libomptarget] Emit a special warning when no images are found
jhuber6 Mar 17, 2023
3132c78
[flang][NFC] Fix subroutine name
clementval Mar 17, 2023
2a76429
[lldb] Set the watchpoint spec for expression watchpoints
JDevlieghere Mar 17, 2023
49d718d
[flang] Pass box address for bind(c) assumed type dummy argument
clementval Mar 17, 2023
9be4465
Revert "[flang] Feature list plugin"
clementval Mar 17, 2023
147b609
[lldb] Unify WatchpointSP variable names (NFC)
JDevlieghere Mar 17, 2023
d875838
[lldb][test] Replace use of p with expression in Shell tests (NFC)
kastiglione Mar 16, 2023
8d0c889
[clang][WebAssembly] Initial support for reference type funcref in clang
pmatos Oct 26, 2022
72e8b28
[mlir][spirv] Allow vectors of index types in elementwise conversions
qedawkins Mar 16, 2023
8c040d0
[lldb] Fix d875838e8b45cb0da5070298d0c1a2d1ee78ce7e
kastiglione Mar 17, 2023
8e4f9b1
[libc] Add initial support for an RPC mechanism for the GPU
jhuber6 Mar 10, 2023
39e9109
[libc] Enable integration tests targeting the GPU
jhuber6 Mar 16, 2023
53076d3
[AMDGPU] Simplify SMEM Real instruction definitions. NFC.
jayfoad Mar 17, 2023
179a7f1
[libc] Fix dependency to unit tests, and quitting in non-GPU mode
jhuber6 Mar 17, 2023
ac62e7b
[AMDGPU] Remove some unneeded curly braces
jayfoad Mar 17, 2023
0ad87ff
[SLP]Introduce shuffle of the nodes + gather/vectorbuild of the rema…
alexey-bataev Mar 15, 2023
eba76ec
[libc++][NFC] Precise comments in test suite setup
ldionne Mar 17, 2023
f0594b6
[MLIR] Add label to print-ir pass
frgossen Mar 17, 2023
8ae4f83
[libc++][NFC] Move the stdlib= test suite configuration for Apple int…
ldionne Mar 17, 2023
f36ec41
[RISCV] Add test case showing fli being hoisted out of a loop and cre…
topperc Mar 17, 2023
0a895c3
[RISCV] Add isAsCheapAsAMove to FLI instructions.
topperc Mar 17, 2023
101cf0b
[RISCV] Add isReMaterializable to FLI instructions.
topperc Mar 17, 2023
33260cf
Intrinsics: Make vector reduce intrinsics speculatable
arsenm Mar 17, 2023
ce6c36b
RegAllocGreedy: Don't use Register reference
arsenm Mar 10, 2023
2cc64df
[JITLink][ORC] Rename MemDeallocPolicy to MemLifetimePolicy, add NoAl…
lhames Mar 16, 2023
b1e9bae
[lldb] Enable TestPublicAPIHeaders.py on Apple Silicon
bulbazord Mar 17, 2023
5379c46
Revert "[JITLink][ORC] Rename MemDeallocPolicy to MemLifetimePolicy, …
lhames Mar 17, 2023
22c1c2d
[flang] Replace !fir.ref<T> -> T conversion with a load
Renaud-K Mar 16, 2023
6acdf58
[clang] Properly parse variable template requires clause in lambda
rymiel Mar 17, 2023
1c9ec74
[Clang][OpenMP] Insert alloca for kernel args at function entry block…
dhruvachak Mar 17, 2023
5f66348
Use nvptxcompile library.
Artem-B Mar 7, 2023
fea8faa
Separate SerializeToCubin from GPUTransforms.
Artem-B Mar 17, 2023
d4ba4c6
Revert unintentionally committed "Use nvptxcompile library."
Artem-B Mar 17, 2023
c98b2e2
LiveRangeEdit: Use Register
arsenm Mar 10, 2023
9f42b04
scudo: Don't define mallinfo2 on Android.
pcc Mar 17, 2023
72f0edf
[libc++] Remove unnecessary main() function in .compile.pass.cpp and …
ldionne Mar 16, 2023
e07a872
[bazel] add missing dependency to //mlir:SPIRVCommonConversion
slackito Mar 17, 2023
a7cf289
[MLIR] Do not hardcode attribute indexes in intrinsic decls
Artem-B Mar 17, 2023
41e4578
[Docs] Fix llvm-cov debuginfod option formatting.
mysterymath Mar 17, 2023
a3bb693
[mlir][gpu][nvvm] refined sparsity selector test and verification of …
aartbik Mar 17, 2023
d02ff3d
Revert "[fuzzer] Use puts() rather than printf() in CopyFileToErr()"
ormris Mar 17, 2023
6f00170
[LSR] Rework term-fold tests
preames Mar 17, 2023
552b1b3
[llvm-readobj] Use a helper to extract the Other Flags from symbols
ilovepi Mar 17, 2023
308bcb3
[libc++] Use the _LIBCPP_VERBOSE_ABORT macro instead of calling the f…
philnik777 Mar 16, 2023
8e1746f
[llvm-readobj] Standardize JSON output for `Other` field
ilovepi Mar 17, 2023
23fd6e3
[llvm-readobj] Fix JSON output for Relocations
ilovepi Mar 17, 2023
93c1a5f
[llvm-readobj] Rename JSON Flag fields to be more consistent
ilovepi Mar 18, 2023
7adacaa
[NVPTX] Report fatal error on empty argument type.
PavelKopyl Mar 16, 2023
659da71
gn build: Pass -fno-emulated-tls when targeting Android.
pcc Mar 18, 2023
711ff37
[TSan] Make sure we only collect non-TSan frames for memory operation…
Mar 16, 2023
681d5ee
[llvm-readobj] Fix "Section" output when emitting relocations in JSON
ilovepi Mar 18, 2023
4e844a1
[WebAssembly] Replace Bugzilla links with Github issues
aheejin Mar 13, 2023
14f292d
[llvm-readobj] Output valid JSON for GroupSections
ilovepi Mar 18, 2023
4f2401f
[WebAssembly] Use MachineInstr::setDebugValueUndef
aheejin Mar 13, 2023
6d33aff
[WebAssembly] Add comments on local.tee transformation
aheejin Mar 14, 2023
e1f830b
[WebAssembly] Support debug info for TLS + global in PIC mode
aheejin Mar 2, 2023
b5c862e
[JITLink] Store Sections in a DenseMap with the section name as key.
lhames Mar 18, 2023
864a2b2
[AMDGPU] Reserve extra SGPR blocks wth XNACK "any" TID Setting
kerbowa Mar 6, 2023
e9c5d80
[RISCV] Use 'unsigned' for XLen in RISCVTargetDefEmitter.cpp. NFC
topperc Mar 18, 2023
7ba9c06
[gn] port d60d3455eb2b
nico Mar 18, 2023
113f019
[clang-tidy] Fix minor bug in bugprone-too-small-loop-variable
PiotrZSL Mar 18, 2023
a72165e
Reland "[CMake] Bumps minimum version to 3.20.0."
mordante Mar 18, 2023
3ed40ac
[clang-tidy] Fixed an issue in readability-identifier-naming not usin…
njames93 Mar 18, 2023
0b7e16a
Re-apply "[JITLink][ORC] Rename MemDeallocPolicy to MemLifetime..." w…
lhames Mar 17, 2023
6a6b65a
[LV] Restructure code creating replicate region (NFC).
fhahn Mar 18, 2023
f03cd76
[lldb] Introduce SymbolFile::ParseAllLanguages
augusto2112 Mar 16, 2023
d0398d3
Revert "Reland "[CMake] Bumps minimum version to 3.20.0.""
mordante Mar 18, 2023
6d9ea91
[gn] merge e46d8a731535
nico Mar 18, 2023
29d3e4e
[gn] merge e46d8a731535 more
nico Mar 18, 2023
16fe61a
[libc++][Apple] Make sure we install libc++experimental.a
ldionne Mar 18, 2023
d6c12cb
[libc++][Apple] Make sure to set the LIBCXX_LIBRARY_VERSION when buil…
ldionne Mar 18, 2023
787fbad
[NFC][AIX][PGO] Create AIX specific compiler-rt profile file.
Mar 18, 2023
371bb2c
[VPlan] Move createReplicateRegion out of VPRecipeBuilder.h. (NFC)
fhahn Mar 18, 2023
cd4e82f
[gn build] Port 65f7ebe72e4c
llvmgnsyncbot Mar 18, 2023
ff2298e
[gn build] Port 787fbad57e05
llvmgnsyncbot Mar 18, 2023
12f4ac2
[gn build] Port f7efcaca77d8
llvmgnsyncbot Mar 18, 2023
93a04a0
[gn] Fix libunwind build on mac after 203b6f31bb7
nico Mar 18, 2023
ede78c1
[JITLink][ELF][x86-64] Add support for R_X86_64_32 relocation.
lhames Mar 19, 2023
57aeb30
[JITLink][ELF] Don't skip debug info sections by default.
lhames Mar 19, 2023
22c3ba4
[SVE] Add patterns for shift intrinsics with FalseLanesZero mode
lizhijin1024 Mar 19, 2023
d4cb6c2
[clang-tidy] readability-identifier-naming: fix hungarian enum prefix…
amurzeau Mar 19, 2023
2538e55
[Sanitizer] [Scudo] Add riscv64 support for scudo
joshua-arch1 Mar 19, 2023
7138e75
[clangd] Avoid recursion on UnresolvedUsingValueDecl during semantic …
HighCommander4 Sep 28, 2022
9d042ed
[clangd] Fix test failure in SemanticHighlighting.GetsCorrectTokens
HighCommander4 Mar 19, 2023
8510cf9
[compiler-rt] Add missing #else clause to fix the build on NetBSD.
fcambus Mar 19, 2023
c9d475c
[libc++abi] Improve performance of __dynamic_cast
Lancern Mar 19, 2023
5b1145b
[libc++][NFC] Refactor the __enable_ifs in <string>
philnik777 Feb 22, 2023
c9d36bd
[libc++] Granularize <exception> includes
philnik777 Mar 1, 2023
50b58e8
[llvm][Demangle][NFC] Sync latest libcxxabi/demangle
Michael137 Mar 9, 2023
4601bcd
[libcxxabi][Demangle] Don't drop ctor/dtor name for abi-tagged struct…
Michael137 Mar 7, 2023
e6cc0fa
[runtimes] Don't use -Wall on clang-cl builds
philnik777 Mar 19, 2023
fb066c4
[sancov] fix coverage-report-server cannot display coverage detail
HerrCai0907 Mar 19, 2023
c0cde79
[libc++] Remove C++03 extensions for std::allocator_arg & friends
ldionne Mar 6, 2023
47aa1fe
[libc++][Apple] Update availability markup for std::to_chars(floating…
ldionne Mar 18, 2023
a6a74fa
[libc++][NFC] Clean up the ABI changelog
ldionne Mar 19, 2023
d233c7b
[Flang][RISCV] Fix 9f93b71f20ea
Mar 19, 2023
62a16d5
[C++2x][Modules] Amend module purview constant linkage [P2788R0].
iains Mar 12, 2023
f3c2c0f
[libc++] Inline small constructors into basic_string
philnik777 Feb 22, 2023
e657eb6
[libc++][test] Adds a missing include.
mordante Mar 19, 2023
6136344
[libc++] Assert that lengths fit in difference_type
davidben Mar 19, 2023
40f2f2f
[libc++] Change linkage for some functions.
mordante Mar 19, 2023
ef860cf
[InstCombine] Precommit tests
kazutakahirata Mar 19, 2023
84870c4
[GlobalOpt] Collect initializer when building GlobalPart.
fhahn Mar 19, 2023
b688b58
[clang-format] Fix non-case colons in Verilog case lines
eywdck2l Mar 19, 2023
0aeaec3
llvm/test/TableGen/intrinsic-*.td: Use Intrinsics.td instead of mock
chapuni Mar 14, 2023
bdf5f9c
[ORC] Introduce SetUpExecutorNativePlatform utility.
lhames Mar 19, 2023
c6e54c7
Revert "[SimplifyCFG] Improve the precision of `PtrValueMayBeModified`"
dianqk Mar 19, 2023
6505b9d
Revert "[SimplifyCFG] Check if the return instruction causes undefine…
dianqk Mar 19, 2023
500d530
Revert "[ORC] Introduce SetUpExecutorNativePlatform utility."
lhames Mar 19, 2023
5558346
[CGSCC] Allow creation of no-rerun CGSCC->function adaptor via textua…
aeubanks Mar 2, 2023
edcf3ef
[IRSim] Treat Branch OperVals different from regular operands to ensu…
AndrewLitteken Oct 2, 2022
333ae0a
[ORC] Use ExecutorAddr instead of JITTargetAddress in JITDylib symbol…
lhames Mar 20, 2023
d2639ff
[NFC] [C++20] [Modules] Add test for #pragma once
ChuanqiXu9 Mar 20, 2023
09f756c
[AMDGPU] Add release note for ommited barrier waitcnt
kerbowa Mar 18, 2023
aa48538
[LICM] Do not hoist widenable conditions
xortator Mar 20, 2023
8d2885c
[GuardWidening] Improve analysis of potential widening into hotter block
xortator Mar 20, 2023
0666c59
[RFC][X86][MemFold] Upgrade the mechanism of auto-generated Memory Fo…
yubingex007-a11y Mar 20, 2023
696f8b3
Revert "[clang-format] Add a space between an overloaded operator and…
kadircet Mar 20, 2023
32bd1f5
Revert "[SVE] Add patterns for shift intrinsics with FalseLanesZero m…
omjavaid Mar 20, 2023
c1888a3
[AsmParser] Avoid instantiating LLVMContext if not needed. NFC
Mar 20, 2023
c59465e
[mlir][Transform] Add support for mapping to GPU warps and to linear ids
nicolasvasilache Mar 20, 2023
e735620
Revert "[AsmParser] Avoid instantiating LLVMContext if not needed. NFC"
Mar 20, 2023
257f4fd
[mlir][Bazel] Add missing dependencies.
akuegel Mar 20, 2023
52e2397
[flang] Add AllocatableInit functions for use in allocate lowering
clementval Mar 20, 2023
029313c
[flang] Update allocate lowering to use AllocatableInit.*ForAllocate …
clementval Mar 20, 2023
b3b16ef
Merge commit '029313cc979ae71877b65794b1063d4e51184cc8' into max.bump…
Mar 29, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .github/workflows/llvm-bugs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
jobs:
auto-subscribe:
runs-on: ubuntu-latest
if: github.repository == 'llvm/llvm-project'
steps:
- uses: actions/setup-node@v3
with:
Expand Down
111 changes: 14 additions & 97 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,16 @@
# The LLVM Compiler Infrastructure

This directory and its sub-directories contain the source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and run-time environments.

The README briefly describes how to get started with building LLVM.
For more information on how to contribute to the LLVM project, please
take a look at the
[Contributing to LLVM](https://llvm.org/docs/Contributing.html) guide.

## Getting Started with the LLVM System

Taken from [here](https://llvm.org/docs/GettingStarted.html).

### Overview

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the
construction of highly optimized compilers, optimizers, and run-time
environments.

The LLVM project has multiple components. The core of the project is
itself called "LLVM". This contains all of the tools, libraries, and header
files needed to process intermediate representations and convert them into
object files. Tools include an assembler, disassembler, bitcode analyzer, and
bitcode optimizer. It also contains basic regression tests.
bitcode optimizer.

C-like languages use the [Clang](http://clang.llvm.org/) frontend. This
component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode
Expand All @@ -31,92 +20,20 @@ Other components include:
the [libc++ C++ standard library](https://libcxx.llvm.org),
the [LLD linker](https://lld.llvm.org), and more.

### Getting the Source Code and Building LLVM

The LLVM Getting Started documentation may be out of date. The [Clang
Getting Started](http://clang.llvm.org/get_started.html) page might have more
accurate information.

This is an example work-flow and configuration to get and build the LLVM source:

1. Checkout LLVM (including related sub-projects like Clang):

* ``git clone https://github.com/llvm/llvm-project.git``

* Or, on windows, ``git clone --config core.autocrlf=false
https://github.com/llvm/llvm-project.git``

2. Configure and build LLVM and Clang:

* ``cd llvm-project``

* ``cmake -S llvm -B build -G <generator> [options]``

Some common build system generators are:

* ``Ninja`` --- for generating [Ninja](https://ninja-build.org)
build files. Most llvm developers use Ninja.
* ``Unix Makefiles`` --- for generating make-compatible parallel makefiles.
* ``Visual Studio`` --- for generating Visual Studio projects and
solutions.
* ``Xcode`` --- for generating Xcode projects.

Some common options:

* ``-DLLVM_ENABLE_PROJECTS='...'`` and ``-DLLVM_ENABLE_RUNTIMES='...'`` ---
semicolon-separated list of the LLVM sub-projects and runtimes you'd like to
additionally build. ``LLVM_ENABLE_PROJECTS`` can include any of: clang,
clang-tools-extra, cross-project-tests, flang, libc, libclc, lld, lldb,
mlir, openmp, polly, or pstl. ``LLVM_ENABLE_RUNTIMES`` can include any of
libcxx, libcxxabi, libunwind, compiler-rt, libc or openmp. Some runtime
projects can be specified either in ``LLVM_ENABLE_PROJECTS`` or in
``LLVM_ENABLE_RUNTIMES``.

For example, to build LLVM, Clang, libcxx, and libcxxabi, use
``-DLLVM_ENABLE_PROJECTS="clang" -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi"``.

* ``-DCMAKE_INSTALL_PREFIX=directory`` --- Specify for *directory* the full
path name of where you want the LLVM tools and libraries to be installed
(default ``/usr/local``). Be careful if you install runtime libraries: if
your system uses those provided by LLVM (like libc++ or libc++abi), you
must not overwrite your system's copy of those libraries, since that
could render your system unusable. In general, using something like
``/usr`` is not advised, but ``/usr/local`` is fine.

* ``-DCMAKE_BUILD_TYPE=type`` --- Valid options for *type* are Debug,
Release, RelWithDebInfo, and MinSizeRel. Default is Debug.

* ``-DLLVM_ENABLE_ASSERTIONS=On`` --- Compile with assertion checks enabled
(default is Yes for Debug builds, No for all other build types).

* ``cmake --build build [-- [options] <target>]`` or your build system specified above
directly.

* The default target (i.e. ``ninja`` or ``make``) will build all of LLVM.

* The ``check-all`` target (i.e. ``ninja check-all``) will run the
regression tests to ensure everything is in working order.

* CMake will generate targets for each tool and library, and most
LLVM sub-projects generate their own ``check-<project>`` target.

* Running a serial build will be **slow**. To improve speed, try running a
parallel build. That's done by default in Ninja; for ``make``, use the option
``-j NNN``, where ``NNN`` is the number of parallel jobs to run.
In most cases, you get the best performance if you specify the number of CPU threads you have.
On some Unix systems, you can specify this with ``-j$(nproc)``.

* For more information see [CMake](https://llvm.org/docs/CMake.html).
## Getting the Source Code and Building LLVM

Consult the
[Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-started-with-llvm)
page for detailed information on configuring and compiling LLVM. You can visit
[Directory Layout](https://llvm.org/docs/GettingStarted.html#directory-layout)
to learn about the layout of the source code tree.
[Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-the-source-code-and-building-llvm)
page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at
the [Contributing to LLVM](https://llvm.org/docs/Contributing.html) guide.

## Getting in touch

Join [LLVM Discourse forums](https://discourse.llvm.org/), [discord chat](https://discord.gg/xS7Z362) or #llvm IRC channel on [OFTC](https://oftc.net/).
Join the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord
chat](https://discord.gg/xS7Z362), or #llvm IRC channel on
[OFTC](https://oftc.net/).

The LLVM project has adopted a [code of conduct](https://llvm.org/docs/CodeOfConduct.html) for
participants to all modes of communication within the project.
4 changes: 0 additions & 4 deletions bolt/include/bolt/Core/BinaryBasicBlock.h
Original file line number Diff line number Diff line change
Expand Up @@ -427,10 +427,6 @@ class BinaryBasicBlock {
/// Return branch info corresponding to an edge going to \p Succ basic block.
const BinaryBranchInfo &getBranchInfo(const BinaryBasicBlock &Succ) const;

/// Return branch info corresponding to an edge going to a basic block with
/// label \p Label.
BinaryBranchInfo &getBranchInfo(const MCSymbol *Label);

/// Set branch information for the outgoing edge to block \p Succ.
void setSuccessorBranchInfo(const BinaryBasicBlock &Succ, uint64_t Count,
uint64_t MispredictedCount) {
Expand Down
115 changes: 28 additions & 87 deletions bolt/include/bolt/Core/BinaryFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,10 @@ class BinaryFunction {
/// List of relocations associated with data in the constant island
std::map<uint64_t, Relocation> Relocations;

/// Set true if constant island contains dynamic relocations, which may
/// happen if binary is linked with -z notext option.
bool HasDynamicRelocations{false};

/// Offsets in function that are data values in a constant island identified
/// after disassembling
std::map<uint64_t, MCSymbol *> Offsets;
Expand Down Expand Up @@ -1229,96 +1233,11 @@ class BinaryFunction {
return InputOffsetToAddressMap;
}

void addRelocationAArch64(uint64_t Offset, MCSymbol *Symbol, uint64_t RelType,
uint64_t Addend, uint64_t Value, bool IsCI) {
std::map<uint64_t, Relocation> &Rels =
(IsCI) ? Islands->Relocations : Relocations;
switch (RelType) {
case ELF::R_AARCH64_ABS64:
case ELF::R_AARCH64_ABS32:
case ELF::R_AARCH64_ABS16:
case ELF::R_AARCH64_ADD_ABS_LO12_NC:
case ELF::R_AARCH64_ADR_GOT_PAGE:
case ELF::R_AARCH64_ADR_PREL_LO21:
case ELF::R_AARCH64_ADR_PREL_PG_HI21:
case ELF::R_AARCH64_ADR_PREL_PG_HI21_NC:
case ELF::R_AARCH64_LD64_GOT_LO12_NC:
case ELF::R_AARCH64_LDST8_ABS_LO12_NC:
case ELF::R_AARCH64_LDST16_ABS_LO12_NC:
case ELF::R_AARCH64_LDST32_ABS_LO12_NC:
case ELF::R_AARCH64_LDST64_ABS_LO12_NC:
case ELF::R_AARCH64_LDST128_ABS_LO12_NC:
case ELF::R_AARCH64_TLSDESC_ADD_LO12:
case ELF::R_AARCH64_TLSDESC_ADR_PAGE21:
case ELF::R_AARCH64_TLSDESC_ADR_PREL21:
case ELF::R_AARCH64_TLSDESC_LD64_LO12:
case ELF::R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
case ELF::R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
case ELF::R_AARCH64_MOVW_UABS_G0:
case ELF::R_AARCH64_MOVW_UABS_G0_NC:
case ELF::R_AARCH64_MOVW_UABS_G1:
case ELF::R_AARCH64_MOVW_UABS_G1_NC:
case ELF::R_AARCH64_MOVW_UABS_G2:
case ELF::R_AARCH64_MOVW_UABS_G2_NC:
case ELF::R_AARCH64_MOVW_UABS_G3:
case ELF::R_AARCH64_PREL16:
case ELF::R_AARCH64_PREL32:
case ELF::R_AARCH64_PREL64:
Rels[Offset] = Relocation{Offset, Symbol, RelType, Addend, Value};
return;
case ELF::R_AARCH64_CALL26:
case ELF::R_AARCH64_JUMP26:
case ELF::R_AARCH64_TSTBR14:
case ELF::R_AARCH64_CONDBR19:
case ELF::R_AARCH64_TLSDESC_CALL:
case ELF::R_AARCH64_TLSLE_ADD_TPREL_HI12:
case ELF::R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
return;
default:
llvm_unreachable("Unexpected AArch64 relocation type in code");
}
}

void addRelocationX86(uint64_t Offset, MCSymbol *Symbol, uint64_t RelType,
uint64_t Addend, uint64_t Value) {
switch (RelType) {
case ELF::R_X86_64_8:
case ELF::R_X86_64_16:
case ELF::R_X86_64_32:
case ELF::R_X86_64_32S:
case ELF::R_X86_64_64:
case ELF::R_X86_64_PC8:
case ELF::R_X86_64_PC32:
case ELF::R_X86_64_PC64:
case ELF::R_X86_64_GOTPCRELX:
case ELF::R_X86_64_REX_GOTPCRELX:
Relocations[Offset] = Relocation{Offset, Symbol, RelType, Addend, Value};
return;
case ELF::R_X86_64_PLT32:
case ELF::R_X86_64_GOTPCREL:
case ELF::R_X86_64_TPOFF32:
case ELF::R_X86_64_GOTTPOFF:
return;
default:
llvm_unreachable("Unexpected x86 relocation type in code");
}
}

/// Register relocation type \p RelType at a given \p Address in the function
/// against \p Symbol.
/// Assert if the \p Address is not inside this function.
void addRelocation(uint64_t Address, MCSymbol *Symbol, uint64_t RelType,
uint64_t Addend, uint64_t Value) {
assert(Address >= getAddress() && Address < getAddress() + getMaxSize() &&
"address is outside of the function");
uint64_t Offset = Address - getAddress();
if (BC.isAArch64()) {
return addRelocationAArch64(Offset, Symbol, RelType, Addend, Value,
isInConstantIsland(Address));
}

return addRelocationX86(Offset, Symbol, RelType, Addend, Value);
}
uint64_t Addend, uint64_t Value);

/// Return the name of the section this function originated from.
std::optional<StringRef> getOriginSectionName() const {
Expand Down Expand Up @@ -1835,7 +1754,7 @@ class BinaryFunction {

/// Returns if this function is a child of \p Other function.
bool isChildOf(const BinaryFunction &Other) const {
return llvm::is_contained(ParentFragments, &Other);
return ParentFragments.contains(&Other);
}

/// Set the profile data for the number of times the function was called.
Expand Down Expand Up @@ -1945,6 +1864,28 @@ class BinaryFunction {
return Symbol;
}

/// Support dynamic relocations in constant islands, which may happen if
/// binary is linked with -z notext option.
void markIslandDynamicRelocationAtAddress(uint64_t Address) {
if (!isInConstantIsland(Address)) {
errs() << "BOLT-ERROR: dynamic relocation found for text section at 0x"
<< Twine::utohexstr(Address) << "\n";
exit(1);
}

// Mark island to have dynamic relocation
Islands->HasDynamicRelocations = true;

// Create island access, so we would emit the label and
// move binary data during updateOutputValues, making us emit
// dynamic relocation with the right offset value.
getOrCreateIslandAccess(Address);
}

bool hasDynamicRelocationAtIsland() const {
return !!(Islands && Islands->HasDynamicRelocations);
}

/// Called by an external function which wishes to emit references to constant
/// island symbols of this function. We create a proxy for it, so we emit
/// separate symbols when emitting our constant island on behalf of this other
Expand Down
1 change: 1 addition & 0 deletions bolt/include/bolt/Core/BinarySection.h
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ class BinarySection {
bool isTBSS() const { return isBSS() && isTLS(); }
bool isVirtual() const { return ELFType == ELF::SHT_NOBITS; }
bool isRela() const { return ELFType == ELF::SHT_RELA; }
bool isRelr() const { return ELFType == ELF::SHT_RELR; }
bool isWritable() const { return (ELFFlags & ELF::SHF_WRITE); }
bool isAllocatable() const {
if (isELF()) {
Expand Down
Loading