Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW06) #5427

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 954 commits into from
Feb 3, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
954 commits
Select commit Hold shift + click to select a range
5da7c04
Re-land "Cache the locations of NOLINTBEGIN/END blocks" with fix for …
salman-javed-nz Jan 26, 2022
66bd7eb
[SVE] Use DUPM to handling more splat immediate cases.
paulwalker-arm Jan 24, 2022
4fa1ad0
[lldb] Convert POSIXLog to use the new API
labath Jan 26, 2022
bfd5696
[gn build] Port 5da7c040030c
llvmgnsyncbot Jan 26, 2022
5157f98
[AMDGPU] Enable divergence-driven XNOR selection
alex-t Dec 24, 2021
ff64327
[X86] Extend PR53419 test coverage
RKSimon Jan 26, 2022
e6ce2c0
[mlir][LLVM] Add support for operand_attrs to InlineAsmOp
nicolasvasilache Jan 26, 2022
b58174d
Cleanup headers for BinaryFormat
Jan 26, 2022
52c7fae
[demangler] improve test harness
urnathan Jan 24, 2022
4e5fce5
[demangler] refactor SpecialSubKind
urnathan Jan 24, 2022
718562a
[flang][tco] Remove unneeded dependencies
banach-space Jan 25, 2022
e30525b
[AArch64] Add NEON test cases for ISD::ABDS/U.
paulwalker-arm Jan 26, 2022
03d0acc
[DSE] Use helper for unwind check (NFCI)
nikic Jan 26, 2022
0984aa7
Fix conditional include in ThreadPool
Jan 26, 2022
5ceb0bc
[VE] Packed 32/64bit broadcast isel and tests
Jan 26, 2022
c283c8d
Rewrite Doxygen comment to resolve -Wdocumentation warning (NFC)
salman-javed-nz Jan 26, 2022
b48e378
Cleanup LLVMTextAPI headers
Jan 26, 2022
31c1842
[DSE] Add test with sret argument (NFC)
nikic Jan 26, 2022
37c4bd0
[lldb] Add MemoryTagMap class
DavidSpickett Oct 29, 2021
8700b22
[gn build] Port 37c4bd0fdbc6
llvmgnsyncbot Jan 26, 2022
360af60
[SystemZ][z/OS] Add AutoConvert.h header to MemoryBuffer.cpp
abhina-sree Jan 26, 2022
5d2f90c
[lldb] Correct some uses of \b in Doxygen documentation
DavidSpickett Jan 26, 2022
8d714e4
[lldb] Correct \params to \param in StackFrame Doxygen comments
DavidSpickett Jan 26, 2022
ecf7a0e
[CMake] Disable mvsc warning for new versions
Flakebi Jan 24, 2022
2feddb3
Implement correct cost for SVE bitcasts
alban-bridonneau Jan 26, 2022
903c3d2
[SCEVExpander] Always use i8 GEP for reused value offset
nikic Jan 26, 2022
070090d
[lldb] Add option to show memory tags in memory read output
DavidSpickett Oct 29, 2021
a5e324e
[AMDGPUHSAMetadataStreamer] Do not assume ABI alignment for pointers
nikic Jan 26, 2022
33c3ef2
[CodeCompletion][clangd] Clean __uglified parameter names in completi…
sam-mccall Dec 30, 2021
f720272
[clang][lex] Include tracking: simplify and move to preprocessor
jansvoboda11 Jan 26, 2022
dc441d7
[NVPTX] NFC: Remove unused arguments and attribute from test
chsigg Jan 26, 2022
0c56bc9
[PowerPC] Fix eq/ne comparison of v2i64 pre-Power8
nemanjai Jan 24, 2022
1f3aa2a
[Visualizers] Fix SmallVector<T> visualizer for T inside an anonymous…
mkurdej Jan 26, 2022
2685242
[mlir][bufferization] Add an option to use memref types without layou…
matthias-springer Jan 26, 2022
b777d35
[clang][DeclPrinter] Fix printing for noexcept expressions
kadircet Jan 26, 2022
93948c5
[clang-format] Correctly format lambdas with variadic template parame…
mkurdej Jan 26, 2022
de8867a
[AMDGPUEmitPrintf] Don't require specific pointer element type
nikic Jan 26, 2022
99ae5c1
[X86] Add 'getSplitVectorSrc' helper to determine if subvectors all c…
RKSimon Jan 26, 2022
ef82063
Rename llvm::array_lengthof into llvm::size to match std::size from C…
Jan 26, 2022
d70d997
[x86] add test for miscompile from wrong min signbits ( #53401 ); NFC
rotateright Jan 26, 2022
63daea8
[SDAG] fix bug in ComputeNumSignBits of target constant
rotateright Jan 26, 2022
df597bf
[NFC][ORC][AArch64] use isInt<N> to replace fitsRangeSignedInt on aar…
dongAxis Jan 26, 2022
75c22b3
[clang][dataflow] Add a transfer function for CXXBoolLiteralExpr
sgatev Jan 26, 2022
297bbf1
Fix ambiguous call to llvm::size introduced in ef8206320769ad31422
Jan 26, 2022
f15014f
Revert "Rename llvm::array_lengthof into llvm::size to match std::siz…
d0k Jan 26, 2022
dcd0926
[lldb] Fix a couple of use-of-uninit-var errors in Materializer.cpp
labath Jan 26, 2022
e6ebd2c
[AArch64] Add float vector compare/select cost-model tests.
fhahn Jan 26, 2022
82f987f
FIx typo in comment
alextsao1999 Jan 26, 2022
4e077c0
[AMDGPU] Remove feature register-banking
rampitec Jan 25, 2022
b797d5e
[CMake] [Clang] Add option to specify PowerPC long double format
ecnelises Jan 26, 2022
aa418b9
[AMDGPU][SIWholeQuadMode] Use the right VCC register to activate the …
kmitropoulou Jan 25, 2022
28bfa57
[DebugInfo] Add stringLocationExp field to DIStringType
cchen15 Jan 18, 2022
cbd0822
[lldb] Remove ConstString::StaticMemorySize
JDevlieghere Jan 26, 2022
a2fe81f
[clang] NFC: Use flush() idiomatically
kirillbobyrev Jan 26, 2022
3595189
[clang][dataflow] Allow clients to disable built-in transfer functions.
ymand Jan 25, 2022
1a6e60d
[Bazel] Update config.h to add the new define.
akuegel Jan 26, 2022
0b9ee8e
[AMDGPU] SILoadStoreOptimizer: Precommit tests for merging across a s…
jayfoad Jan 26, 2022
db06310
[gn build] Manually port D118110
aeubanks Jan 26, 2022
f2fbb2a
Merge from '"main"' to '"sycl-web"' (2 commits)
ivankelarev Jan 26, 2022
913914f
[ELF] Simplify writing the Elf_Chdr header. NFC
MaskRay Jan 26, 2022
cbc623c
[gn build] Make HAVE_MALLINFO2 a gn arg, default to false
aeubanks Jan 26, 2022
092f6ae
[test][ASan][Win] Print more info when LoadLibrary fails
aeubanks Jan 26, 2022
a41dcf7
Merge from 'sycl' to 'sycl-web' (7 commits)
Jan 26, 2022
b1613f0
[NFC] Store Address's alignment into PointerIntPairs
aeubanks Jan 14, 2022
e6564f3
AMDGPU: Emit user sgpr count directives in text asm
arsenm Jan 21, 2022
216002c
Fix UB in DwarfExpression::emitLegacyZExt()
adrian-prantl Jan 25, 2022
4691f00
Initialize terminfo.bzl linkopts to None
jonmeow Jan 26, 2022
b3d94b1
[RISCV] Remove references to 'B' extension from AssemblerPredicate an…
topperc Jan 26, 2022
963e533
Merge from '"main"' to '"sycl-web"' (110 commits)
ivankelarev Jan 26, 2022
e08f3bf
[openmp] Disable build of old runtimes by default
JonChesterfield Jan 26, 2022
b1d946c
[clang] Add an extract-api driver option
zixu-w Jan 20, 2022
6d52391
[InstrProf][Correlate] Improve error messages
ellishg Jan 25, 2022
ff52ef3
[lldb/API] Add ability to check if module is backed by a file on disk
medismailben Jan 26, 2022
6a953d9
[clang] Fix -Wsubobject-linkage after D117262
aeubanks Jan 26, 2022
b88a4d7
[mlir:GPU] Replace reference to LLVMFuncOp with FuncOpInterface
River707 Jan 25, 2022
480cd4c
[mlir] Move the complex support of std.constant to a new complex.cons…
River707 Jan 25, 2022
632a4f8
[mlir] Move std.generic_atomic_rmw to the memref dialect
River707 Jan 26, 2022
2f33396
AMDGPU: Switch bfi pattern test to generated checks and add gfx10
arsenm Jan 19, 2022
eb88e79
AMDGPU: Add some additional test coverage for BFI matching
arsenm Jan 19, 2022
09fc311
AMDGPU/GlobalISel: Mostly fix BFI patterns
arsenm Jan 19, 2022
810752a
[libcxx] [test] Fix the locale.time.put.byname/put1 testcase on Linux…
mstorsjo Jan 23, 2022
b5bada6
[libcxx][test] Narrow XFAIL for tests that pass with `msvc && stdlib=…
CaseyCarter Jan 4, 2022
2d670de
GlobalISel: Avoid crash on asm with lying result types
arsenm Jan 19, 2022
045be6f
AMDGPU/GlobalISel: Fold wave address into mubuf addressing modes
arsenm Jan 12, 2022
f400a60
Revert "Fix UB in DwarfExpression::emitLegacyZExt()"
adrian-prantl Jan 26, 2022
2ebf326
[gn build] Port b1d946cbf780
llvmgnsyncbot Jan 26, 2022
e1ec08c
Merge from 'sycl' to 'sycl-web'
Jan 26, 2022
f3e2294
Update the Bug Life Cycle docs for the switch to GitHub issues
AaronBallman Jan 26, 2022
33185e6
[mlir] Add ODS support for enum attributes with grouped bit cases
jfurtek Jan 26, 2022
ee72b17
Fix UB in DwarfExpression::emitLegacyZExt()
adrian-prantl Jan 25, 2022
0606817
[CMake] Handle in-tree libc++ for sanitizer tests
petrhosek Jan 25, 2022
d1ed279
Merge from '"main"' to '"sycl-web"' (3 commits)
ivankelarev Jan 26, 2022
20e9d4c
[BOLT] Prepare BOLT for unit-testing
yota9 Jan 26, 2022
35d1522
[Driver] Remove obsoleted -gz=zlib-gnu
MaskRay Jan 26, 2022
6bc20eb
[cc1as] Remove -Wa,--compress-debug-sections=zlib-gnu
MaskRay Jan 26, 2022
7e73fd9
[RISCV] Minor code cleanups in RISCVISAInfo. NFCI
topperc Jan 26, 2022
e7cf109
[bazel] Enable layering_check for MLIR test directory
rupprecht Jan 26, 2022
f487a76
[RISCV] Add hasStdExtZbp() to hasAndNotCompare.
topperc Jan 26, 2022
48a3895
[CMake] Use generator expression to get in-tree libc++ path
petrhosek Jan 26, 2022
a5257ae
[mlir][amx] add a full tile matrix mult example to integration tests
aartbik Jan 26, 2022
50f50f2
Emit swift5 reflection section data in dsym bundle generated by dsymu…
rastogishubham Nov 17, 2021
d97fcf3
[BOLT][docs] Add note regarding DWARF v5 support to README.md
maksfb Jan 26, 2022
f32dccb
[bazel] Port 480cd4cb
d0k Jan 26, 2022
dbf278b
[AMDGPU] Prevent aliasing of SrcC and Dst in MAI
rampitec Jan 21, 2022
10ce1ee
[gn build] Remove incorrect interception dependency
aeubanks Jan 26, 2022
1d085f1
[gn build] Don't pass -fuse-ld=lld to compiler-rt tests
aeubanks Jan 26, 2022
409c443
[AMDGPU] Validate dst and src2 non-overlapping restriction in asm
rampitec Jan 25, 2022
dcc595e
[BOLT] Fix DWARFv5 for aarch64
yota9 Jan 26, 2022
bdb7837
[test][DAGCombine] Add more tests for carry diamond. NFC
chfast Jan 26, 2022
0a4bbda
[gn build] Remove unnecessary include_dirs
aeubanks Jan 26, 2022
7ebd22c
Revert "[mlir][LLVM] Add support for operand_attrs to InlineAsmOp"
joker-eph Jan 26, 2022
19f67ee
[mlir][amx] fix some whitespace issues in AMX tests
aartbik Jan 26, 2022
3265164
[lldb/test] Try to fix TestSBModule failure
medismailben Jan 26, 2022
a6b5624
Revert "[lldb/test] Try to fix TestSBModule failure"
medismailben Jan 27, 2022
aae3c4f
[lldb/test] Skip TestSBModule unless darwin
medismailben Jan 27, 2022
98fa46f
[FIX][clang] Fix unused private field in ExtractAPIVisitor
zixu-w Jan 27, 2022
ff84c63
[libc++] [ranges] Fix LWG3470 "convertible-to-non-slicing seems to re…
Quuxplusone Jan 22, 2022
16031cb
[libc++] Fix LWG3557 "static_cast expression in convertible_to has th…
Quuxplusone Jan 22, 2022
c99a585
[libc++] Make C++03 reference_wrapper more like C++11.
Quuxplusone Jan 22, 2022
4b3e0d2
[libc++] Fix LWG3533 "Make `base() const&` consistent..."
Quuxplusone Jan 14, 2022
0303eb3
Revert "Emit swift5 reflection section data in dsym bundle generated …
rastogishubham Jan 27, 2022
630e6fa
[NFC] Empty test commit, check commit access
Jan 27, 2022
11fb049
[mlir][amx] add a full tile matrix mult integral example to integrati…
aartbik Jan 27, 2022
5c238be
[BOLT][TEST] Adjust tests for BOLT_CLANG_EXE=clang-{6..9}
aaupov Jan 27, 2022
eee97f1
[clang] Use proper type to left shift after D117262
aeubanks Jan 27, 2022
9c62728
Default to DWARFv4 on Windows
dwblaikie Jan 27, 2022
1510668
[asan] Add missing #include of sanitizer_platform.h
frobtech Jan 27, 2022
f85ee6d
[NFC] [AST] Move isSameEntity into ASTContext
ChuanqiXu9 Jan 27, 2022
f73f367
[gn build] Move -fno-builtin to crt_code
aeubanks Jan 26, 2022
b75eea1
[gn build] Format gn files
aeubanks Jan 27, 2022
5844d29
[RISCV] Remove unused flags from FeatureKind in TargetParser.h. NFC
topperc Jan 27, 2022
b3bec6e
[RISCV] Use vnsrl.wx with x0 instead of vnsrl.vi for truncate.
topperc Jan 27, 2022
2fcdd68
[CMake][Fuchsia] Drop 32-bit ios runtimes
petrhosek Jan 27, 2022
6f25cb8
[PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction
Jan 27, 2022
7ea4fe7
[libc++] Fix LWG3390: move_iterator now handles move-only iterators.
Quuxplusone Jan 14, 2022
ecb5023
[ObjC] Emit selector load right before msgSend call.
ahmedbougacha Jan 27, 2022
836950c
[clang-tidy] Fix nested namespaces in `readability-static-definition-…
Izaron Jan 27, 2022
6383985
[Test] Add one more add-reduce test w/ pointer bitcasts
xortator Jan 27, 2022
2d56663
[Test] Add test for or-reduce idiom symmetrical to and-reduce
xortator Jan 27, 2022
f3e1f44
[IVDescriptor] Get the exact FP instruction that does not allow reord…
CongzheUalberta Jan 27, 2022
f4a3686
[mlir:PassOptions] Fix parsing of nested option values/better handle …
River707 Jan 24, 2022
e3cd80e
[mlir:Function][NFC] Use BitVector instead of ArrayRef for indices wh…
River707 Jan 24, 2022
d10d49d
[mlir][NFC] Add a using for llvm::BitVector to LLVM.h
River707 Jan 26, 2022
6842ec4
[mlir][NFC] Add a using for llvm::SMLoc/llvm::SMRange to LLVM.h
River707 Jan 26, 2022
ad39b5b
[NFC] Remove duplicate include
tclin914 Jan 27, 2022
14b7785
[ELF] Simplify InputSection::writeTo. NFC
MaskRay Jan 27, 2022
afeb4a6
[ELF] Optimize -Map. NFC
MaskRay Jan 27, 2022
1372d53
[ELF] Optimize two vector. NFC
MaskRay Jan 27, 2022
7d0426d
[mlir] Move ComposeSubView+ExpandOps from Standard to MemRef
River707 Jan 26, 2022
9f85c19
[mlir] Finish replacing OwningRewritePatternList with RewritePatternSet
River707 Jan 26, 2022
586759c
Add email addresses to create a topic via email in a specific category.
tlattner Jan 27, 2022
970f94d
[MLIR] Fix integration tests broken by D118285
bondhugula Jan 27, 2022
fa5c523
[MLIR] NFC. Rename pass cmd-line to prefix affine
bondhugula Jan 27, 2022
3bc1527
[ELF] Parallelize computeIsPreemptible
MaskRay Jan 27, 2022
615d71d
[RISCV][CodeGen] Implement IR Intrinsic support for K extension
Xinlong-Wu Jan 27, 2022
4ad517e
[CSKY] Add floating operation support including float and double
zixuan-wu Jan 27, 2022
578122c
[mlir] Don't emit unused labels
marbre Jan 25, 2022
6a4d3f3
[RISCV] fix dead code
Xinlong-Wu Jan 27, 2022
67c89d9
[MC] Remove unreachable .comm/.lcomm diagnostic
MaskRay Jan 27, 2022
fd71493
Add missing namespace to PPCLinux.cpp
glandium Jan 27, 2022
a911a69
[mlir][Bazel] Add missing dependency to ArithmeticTransforms.
akuegel Jan 27, 2022
426437d
[MC] Add MCAsmParser::parseRParen to improve consistency and simplify…
MaskRay Jan 27, 2022
199c2d6
[mlir][Bazel] Add TestMemRef target.
akuegel Jan 27, 2022
52fddcd
[clang-format] Format ParseOpenMP.cpp changes
saiislam Jan 27, 2022
aaa9f40
[lldb/test] Replace gnu-style-compression.cpp with a yaml file
labath Jan 27, 2022
7afd052
[lldb/DWARF] Make manual dwarf index deterministic
labath Jan 26, 2022
6730df4
[lldb] Convert ProcessWindowsLog to the new API
labath Jan 27, 2022
84e85e0
[SelectionDAG][VP] Provide expansion for VP_MERGE
frasercrmck Jan 24, 2022
8d99286
[InstCombine] Remove some pointer element type accesses
nikic Jan 27, 2022
4cd8877
[lldb/test] Fix gnu-style-compression.yaml
labath Jan 27, 2022
73cd8e2
[InstCombine] Skip PromoteCastOfAllocation() transform under opaque p…
nikic Jan 27, 2022
fc72f3a
[BTFDebug] Avoid pointer element type access
nikic Jan 27, 2022
fed2f69
[RISCV] Fix test case expected output
frasercrmck Jan 27, 2022
b7179d9
[InstCombine] Extract GEP of bitcast folds into separate function (NFC)
nikic Jan 27, 2022
2c736f6
[InstCombine] Skip GEP of bitcast transform with opaque pointers
nikic Jan 27, 2022
773467c
[LLDB] Add formatters for PointerIntPair, PointerUnion
broadwaylamb Jan 20, 2022
bb5c1b0
[LoopVersioning] Use IRBuilder for OR simplification.
fhahn Jan 27, 2022
b88ca61
[NFC][CodeGen] Use llvm::DenseMap for DeferredDecls
yurai007 Jan 25, 2022
1043107
[mlir][bufferize] Insert memref.cast ops during finalizing pass
matthias-springer Jan 27, 2022
95857a7
[AMDGPU] SILoadStoreOptimizer: Remove redundant check for volatile
jayfoad Jan 26, 2022
792a409
[CMake][Fuchsia] Only build iossim runtimes for arm64
petrhosek Jan 27, 2022
d58757e
[AArch64][SVE] Implement PFALSE with explicit AArch64ISD node.
sdesmalen-arm Jan 27, 2022
daf1810
[mlir][tensor] Replace tensor-bufferize with BufferizableOpInterface …
matthias-springer Jan 27, 2022
35fff20
[OpenCL] opencl-c.h: add missing read_write image guards
svenvh Jan 27, 2022
648faa3
[InstCombine] Mark element type access as non-opaque (NFC)
nikic Jan 27, 2022
3b259a6
[AMDGPU] Remove unused GFX6 check lines
jayfoad Jan 27, 2022
dbd1bbc
[mlir][linalg][bufferize] Support arith.index_cast bufferization
matthias-springer Jan 27, 2022
0f0e699
[ConstantFold] Disable gep of array bitcast fold with opaque pointers
nikic Jan 27, 2022
b30d9df
[AMDGPU] Remove unused CI check lines
jayfoad Jan 27, 2022
15b11e0
[AMDGPU] Update MachineMemOperands syntax in commented out tests
jayfoad Jan 27, 2022
fdd3e2c
[DAG] SelectionDAG::getNode(N1,N2) - detect N2 constant vector splats…
RKSimon Jan 27, 2022
c9da81d
[AArch64][SVE] Implement missing lowering for extract_subvector for p…
sdesmalen-arm Jan 27, 2022
0d5b359
[libcxx] [test] Narrow down a MinGW bug workaround in rand.dist.uni.i…
mstorsjo Jan 20, 2022
a5de66c
[OpenCL] Add support of __opencl_c_device_enqueue feature macro.
azabazno Dec 13, 2021
d839afe
[InstCombine] Avoid pointer element type access in PointerReplacer
nikic Jan 27, 2022
4d9f6ab
[IR] Handle opaque pointers in PtrToArgument mangling
nikic Jan 27, 2022
417a75c
[AArch64][SVE] Avoid using ptrue for ptest in VECREDUCE_OR.
sdesmalen-arm Jan 27, 2022
b2f5004
Revert "[mlir][bufferize] Insert memref.cast ops during finalizing pass"
matthias-springer Jan 27, 2022
659bf6d
[Support] [Windows] Don't cancel delete if we failed to set delete
bulldy80 Jan 27, 2022
9791667
[IR] Support ifuncs in opaque pointer mode
nikic Jan 27, 2022
c4e6895
[clangd][Hover] Suppress initializers with many tokens
kadircet Jan 26, 2022
e74d146
[Test] Add data layout to relevant tests + some wide-typed tests
xortator Jan 27, 2022
c5d2b97
[AMDGPU] Precommit test for swizzled store aliasing two loads
jayfoad Jan 27, 2022
3053e14
[lldb] [Platform] Support synthesizing siginfo_t
mgorny Jan 19, 2022
1a8f60f
[lldb] [gdb-remote] Support getting siginfo via API
mgorny Jan 24, 2022
a78ce48
[ConstraintElimination] Introduce struct to manage constraints. (NFC)
fhahn Jan 27, 2022
608cc6b
[mlir][complex] Lower complex.constant to LLVM
d0k Jan 27, 2022
b70366c
[mlir][BufferOptimization] Use datalayout instead of a flag to find i…
d0k Jan 27, 2022
dafd1f2
[AArch64][SVE] Avoid using ptrue for unpredicated predicate AND.
sdesmalen-arm Jan 27, 2022
8dd14e1
[X86] Add test showing failure to combine 128-bit PTEST of split vectors
RKSimon Jan 27, 2022
389ae77
[X86] Fold TESTZ(OR(LO(X),HI(X)),OR(LO(Y),HI(Y))) -> TESTZ(X,Y)
RKSimon Jan 27, 2022
258a0a3
[ConstraintElimination] Use simplified constraint for == 0.
fhahn Jan 27, 2022
d44de46
[OMPIRBuilder] Avoid pointer element type access
nikic Jan 27, 2022
1ca02bd
[ConstraintSystem] Mark function as const (NFC).
fhahn Jan 27, 2022
33eb3f1
[lldb] Delete TestBacktraceAll.py
labath Jan 27, 2022
cb3df1a
[AArch64] Add vector compare/select tests with UNE predicate.
fhahn Jan 27, 2022
185cb8e
[AMDGPU] SILoadStoreOptimizer: Allow merging across a swizzled access
jayfoad Jan 26, 2022
ccda0f2
[X86][SSE] Add combineBitOpWithShift for BITOP(SHIFT(X,Z),SHIFT(Y,Z))…
RKSimon Jan 27, 2022
c6d5efb
clang-format: [JS] sort import aliases.
mprobst Jan 27, 2022
f482e86
AMDGPU/GlobalISel: Fix flat_scratch_init handling for shaders
arsenm Jan 18, 2022
416e503
[flang] split character procedure arguments in target-rewrite pass
jeanPerier Jan 27, 2022
aa88b65
AMDGPU/GlobalISel: Fix assert on invalid cond code for llvm.amdgcn.icmp
arsenm Jan 18, 2022
dad2b6e
[PowerPC][AIX] Support toc-data attribute for read-only globals.
yoalione Jan 27, 2022
0902eb3
[libc++] Fix common_iterator for output_iterators
ldionne Jan 18, 2022
d27cbfa
[libc++] Fix bug in ranges::advance
ldionne Jan 13, 2022
89f0380
[libc++][NFC] Move some functions from directory_iterator.cpp to file…
ldionne Jan 26, 2022
af1c8f0
[AArch64][SVE] Folds VSELECT if the predicate is all active.
sdesmalen-arm Jan 27, 2022
d77c7c8
AMDGPU: Fix broken check lines in test
arsenm Jan 27, 2022
33b45ee
AMDGPU: Handle addrspacecast of constant 32-bit to flat
arsenm Jan 27, 2022
5d3ab6a
[libc++][nfc] Include test_macros.h in more tests.
mordante Jan 24, 2022
8f972cb
[libc++][nfc] Add TEST_HAS_NO_INT128.
mordante Jan 23, 2022
ccce1a0
Don't trigger unused-parameter warnings on naked functions
MuAlphaOmegaEpsilon Jan 27, 2022
075e3fd
[mlir][bufferize] Move arith BufferizableOpInterface impl to arith di…
matthias-springer Jan 27, 2022
8ce99da
[clang-tidy] Add more documentation about check development (NFC)
LegalizeAdulthood Jan 22, 2022
3ea1726
Merge remote-tracking branch 'otcshare_llvm/sycl-web' into llvmspirv_…
vmaksimo Jan 31, 2022
791ef28
Merge commit '8ce99dadb007dd0dbbf1ddbe4090e9ff43e780c5' into llvmspir…
vmaksimo Jan 31, 2022
c9ce271
Move OpenCL relational builtin translation to SPIRVToOCL
wenju-he Jan 25, 2022
4f1283a
Update for PointerType::getElementType deprecation
svenvh Jan 26, 2022
b3db4ce
Move SPIRVLowerConstExprPass to header file
wenju-he Jan 26, 2022
e4ee512
Implements spirv.Decorations and spirv.ParameterDecorations metadata …
steffenlarsen Jan 27, 2022
dde90d0
Add support for element-wise operations on joint matrix
AlexeySotkin Jan 27, 2022
c91bca0
[NFC] Fix CHECK strings in the test
MrSidims Jan 27, 2022
bf43d7b
Fix VectorExtract&Insert Dynamic with sycl half translation
KornevNikita Jan 28, 2022
11eeb80
Handle translation of DIArgList with single argument
AlexeySotkin Jan 28, 2022
81f3f8c
[SYCL] Integrate sycl_special_class attribute (8ba9c794) to intel/llvm
Fznamznon Feb 2, 2022
c6bf17b
[SPIR-V] Add `noalias` attribute to IR check
vmaksimo Feb 2, 2022
4bb9fa8
[SYCL] Enable matrix-elemwise-ops test after dde90d01
vmaksimo Feb 2, 2022
151b1bc
Fix incorrectly resolved merged conflict with 8ba9c79
vmaksimo Feb 2, 2022
d74dec1
Fix AMDGPU/local-accessor-to-shared-memory-valid-triple - changed exp…
vmaksimo Feb 2, 2022
dc05829
Speculatively fix the sphinx build for Clang's attribute reference
AaronBallman Jan 29, 2022
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.
2 changes: 2 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ CheckOptions:
value: 1
- key: readability-redundant-member-init.IgnoreBaseInCopyConstructors
value: 1
- key: modernize-use-default-member-init.UseAssignment
value: 1
4 changes: 4 additions & 0 deletions bolt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ add_subdirectory(lib)
add_subdirectory(tools)

if (BOLT_INCLUDE_TESTS)
if (EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
add_subdirectory(unittests)
list(APPEND BOLT_TEST_DEPS BoltUnitTests)
endif()
add_subdirectory(test)
endif()

Expand Down
8 changes: 8 additions & 0 deletions bolt/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,14 @@ compiler option. Since GCC8 enables this option by default, you have to
explicitly disable it by adding `-fno-reorder-blocks-and-partition` flag if
you are compiling with GCC8 or above.

NOTE2: DWARF v5 is the new debugging format generated by the latest LLVM and GCC
compilers. It offers several benefits over the previous DWARF v4. Currently, the
support for v5 is a work in progress for BOLT. While you will be able to
optimize binaries produced by the latest compilers, until the support is
complete, you will not be able to update the debug info with
`-update-debug-sections`. To temporarily work around the issue, we recommend
compiling binaries with `-gdwarf-4` option that forces DWARF v4 output.

PIE and .so support has been added recently. Please report bugs if you
encounter any issues.

Expand Down
3 changes: 1 addition & 2 deletions bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,12 @@
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCCodeEmitter.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCPseudoProbe.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCSectionMachO.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/ErrorOr.h"
Expand Down
1 change: 0 additions & 1 deletion bolt/include/bolt/Core/BinaryData.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#define BOLT_CORE_BINARY_DATA_H

#include "llvm/ADT/Twine.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
Expand Down
3 changes: 0 additions & 3 deletions bolt/include/bolt/Core/DebugData.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#ifndef BOLT_CORE_DEBUG_DATA_H
#define BOLT_CORE_DEBUG_DATA_H

#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/MC/MCDwarf.h"
Expand All @@ -33,8 +32,6 @@

namespace llvm {

class DWARFAbbreviationDeclarationSet;

namespace bolt {

class BinaryContext;
Expand Down
8 changes: 8 additions & 0 deletions bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -1898,6 +1898,14 @@ class MCPlusBuilder {
}
};

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

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

} // namespace bolt
} // namespace llvm

Expand Down
2 changes: 0 additions & 2 deletions bolt/include/bolt/Passes/AllocCombiner.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@

namespace llvm {
namespace bolt {
class DataflowInfoManager;
class FrameAnalysis;

class AllocCombinerPass : public BinaryFunctionPass {
/// Stats aggregating variables
Expand Down
3 changes: 1 addition & 2 deletions bolt/include/bolt/Rewrite/DWARFRewriter.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,10 @@
#define BOLT_REWRITE_DWARF_REWRITER_H

#include "bolt/Core/DebugData.h"
#include "bolt/Rewrite/RewriteInstance.h"
#include <cstdint>
#include <map>
#include <memory>
#include <mutex>
#include <set>
#include <unordered_map>
#include <vector>

Expand Down
5 changes: 5 additions & 0 deletions bolt/include/bolt/Rewrite/RewriteInstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -545,6 +545,11 @@ class RewriteInstance {
friend class RewriteInstanceDiff;
};

MCPlusBuilder *createMCPlusBuilder(const Triple::ArchType Arch,
const MCInstrAnalysis *Analysis,
const MCInstrInfo *Info,
const MCRegisterInfo *RegInfo);

} // namespace bolt
} // namespace llvm

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

#include "bolt/Passes/InstrumentationSummary.h"
#include "bolt/RuntimeLibs/RuntimeLibrary.h"
#include <memory>

namespace llvm {
namespace bolt {
Expand Down
1 change: 0 additions & 1 deletion bolt/include/bolt/Utils/CommandLineOpts.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ extern llvm::cl::opt<unsigned long long> HeatmapMinAddress;
extern llvm::cl::opt<bool> HotData;
extern llvm::cl::opt<bool> HotFunctionsAtEnd;
extern llvm::cl::opt<bool> HotText;
extern llvm::cl::opt<std::string> InputFilename;
extern llvm::cl::opt<bool> Instrument;
extern llvm::cl::opt<std::string> OutputFilename;
extern llvm::cl::opt<std::string> PerfData;
Expand Down
5 changes: 2 additions & 3 deletions bolt/lib/Core/BinaryFunction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstPrinter.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
Expand Down Expand Up @@ -3613,13 +3612,13 @@ void BinaryFunction::insertBasicBlocks(
std::vector<std::unique_ptr<BinaryBasicBlock>> &&NewBBs,
const bool UpdateLayout, const bool UpdateCFIState,
const bool RecomputeLandingPads) {
const auto StartIndex = Start ? getIndex(Start) : -1;
const int64_t StartIndex = Start ? getIndex(Start) : -1LL;
const size_t NumNewBlocks = NewBBs.size();

BasicBlocks.insert(BasicBlocks.begin() + (StartIndex + 1), NumNewBlocks,
nullptr);

auto I = StartIndex + 1;
int64_t I = StartIndex + 1;
for (std::unique_ptr<BinaryBasicBlock> &BB : NewBBs) {
assert(!BasicBlocks[I]);
BasicBlocks[I++] = BB.release();
Expand Down
7 changes: 4 additions & 3 deletions bolt/lib/Core/DebugData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@
//===----------------------------------------------------------------------===//

#include "bolt/Core/DebugData.h"
#include "bolt/Core/BinaryBasicBlock.h"
#include "bolt/Core/BinaryFunction.h"
#include "bolt/Core/BinaryContext.h"
#include "bolt/Utils/Utils.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCObjectStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/EndianStream.h"
#include "llvm/Support/LEB128.h"
Expand All @@ -32,6 +31,8 @@ extern llvm::cl::opt<unsigned> Verbosity;
} // namespace opts

namespace llvm {
class MCSymbol;

namespace bolt {

const DebugLineTableRowRef DebugLineTableRowRef::NULL_ROW{0, 0};
Expand Down
1 change: 0 additions & 1 deletion bolt/lib/Core/JumpTable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#include "bolt/Core/BinaryFunction.h"
#include "bolt/Core/BinarySection.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"

#define DEBUG_TYPE "bolt"

Expand Down
24 changes: 12 additions & 12 deletions bolt/lib/Passes/IndirectCallPromotion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
#include "bolt/Passes/IndirectCallPromotion.h"
#include "bolt/Passes/BinaryFunctionCallGraph.h"
#include "bolt/Passes/DataflowInfoManager.h"
#include "bolt/Utils/CommandLineOpts.h"
#include "llvm/Support/CommandLine.h"

#define DEBUG_TYPE "ICP"
Expand Down Expand Up @@ -281,7 +280,7 @@ IndirectCallPromotion::getCallTargets(BinaryBasicBlock &BB,
Inst.getOperand(0).getReg() == BC.MRI->getProgramCounter())
return Targets;

auto ICSP = BC.MIB->tryGetAnnotationAs<IndirectCallSiteProfile>(
const auto ICSP = BC.MIB->tryGetAnnotationAs<IndirectCallSiteProfile>(
Inst, "CallProfile");
if (ICSP) {
for (const IndirectCallProfile &CSP : ICSP.get()) {
Expand All @@ -292,17 +291,18 @@ IndirectCallPromotion::getCallTargets(BinaryBasicBlock &BB,
}
}

// Sort by target count, number of indices in case of jump table, and
// mispredicts. We prioritize targets with high count, small number of
// indices and high mispredicts
// Sort by target count, number of indices in case of jump table, and
// mispredicts. We prioritize targets with high count, small number of indices
// and high mispredicts. Break ties by selecting targets with lower addresses.
std::stable_sort(Targets.begin(), Targets.end(),
[](const Callsite &A, const Callsite &B) {
if (A.Branches != B.Branches)
return A.Branches > B.Branches;
else if (A.JTIndices.size() != B.JTIndices.size())
if (A.JTIndices.size() != B.JTIndices.size())
return A.JTIndices.size() < B.JTIndices.size();
else
if (A.Mispreds != B.Mispreds)
return A.Mispreds > B.Mispreds;
return A.To.Addr < B.To.Addr;
});

// Remove non-symbol targets
Expand Down Expand Up @@ -938,7 +938,7 @@ size_t IndirectCallPromotion::canPromoteCallsite(
// If we have no targets (or no calls), skip this callsite.
if (Targets.empty() || !NumCalls) {
if (opts::Verbosity >= 1) {
const auto InstIdx = &Inst - &(*BB.begin());
const ptrdiff_t InstIdx = &Inst - &(*BB.begin());
outs() << "BOLT-INFO: ICP failed in " << *BB.getFunction() << " @ "
<< InstIdx << " in " << BB.getName() << ", calls = " << NumCalls
<< ", targets empty or NumCalls == 0.\n";
Expand Down Expand Up @@ -985,7 +985,7 @@ size_t IndirectCallPromotion::canPromoteCallsite(
if (TopNFrequency == 0 ||
TopNFrequency < opts::IndirectCallPromotionMispredictThreshold) {
if (opts::Verbosity >= 1) {
const auto InstIdx = &Inst - &(*BB.begin());
const ptrdiff_t InstIdx = &Inst - &(*BB.begin());
outs() << "BOLT-INFO: ICP failed in " << *BB.getFunction() << " @ "
<< InstIdx << " in " << BB.getName() << ", calls = " << NumCalls
<< ", top N mis. frequency " << format("%.1f", TopNFrequency)
Expand Down Expand Up @@ -1034,7 +1034,7 @@ size_t IndirectCallPromotion::canPromoteCallsite(
if (TopNMispredictFrequency <
opts::IndirectCallPromotionMispredictThreshold) {
if (opts::Verbosity >= 1) {
const auto InstIdx = &Inst - &(*BB.begin());
const ptrdiff_t InstIdx = &Inst - &(*BB.begin());
outs() << "BOLT-INFO: ICP failed in " << *BB.getFunction() << " @ "
<< InstIdx << " in " << BB.getName()
<< ", calls = " << NumCalls << ", top N mispredict frequency "
Expand Down Expand Up @@ -1064,7 +1064,7 @@ void IndirectCallPromotion::printCallsiteInfo(
BinaryContext &BC = BB.getFunction()->getBinaryContext();
const bool IsTailCall = BC.MIB->isTailCall(Inst);
const bool IsJumpTable = BB.getFunction()->getJumpTable(Inst);
const auto InstIdx = &Inst - &(*BB.begin());
const ptrdiff_t InstIdx = &Inst - &(*BB.begin());

outs() << "BOLT-INFO: ICP candidate branch info: " << *BB.getFunction()
<< " @ " << InstIdx << " in " << BB.getName()
Expand Down Expand Up @@ -1219,7 +1219,7 @@ void IndirectCallPromotion::runOnFunctions(BinaryContext &BC) {

for (unsigned Idx = 0; Idx < BB->size(); ++Idx) {
MCInst &Inst = BB->getInstructionAtIndex(Idx);
const auto InstIdx = &Inst - &(*BB->begin());
const ptrdiff_t InstIdx = &Inst - &(*BB->begin());
const bool IsTailCall = BC.MIB->isTailCall(Inst);
const bool HasIndirectCallProfile =
BC.MIB->hasAnnotation(Inst, "CallProfile");
Expand Down
2 changes: 0 additions & 2 deletions bolt/lib/Passes/ThreeWayBranch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@

#include "bolt/Passes/ThreeWayBranch.h"

#include <numeric>

using namespace llvm;

namespace llvm {
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Profile/YAMLProfileWriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ void convert(const BinaryFunction &BF,
CSI.Offset = *Offset - BB->getInputOffset();

if (BC.MIB->isIndirectCall(Instr) || BC.MIB->isIndirectBranch(Instr)) {
auto ICSP = BC.MIB->tryGetAnnotationAs<IndirectCallSiteProfile>(
const auto ICSP = BC.MIB->tryGetAnnotationAs<IndirectCallSiteProfile>(
Instr, "CallProfile");
if (!ICSP)
continue;
Expand Down
4 changes: 1 addition & 3 deletions bolt/lib/Rewrite/DWARFRewriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "bolt/Core/BinaryFunction.h"
#include "bolt/Core/DebugData.h"
#include "bolt/Core/ParallelUtilities.h"
#include "bolt/Rewrite/RewriteInstance.h"
#include "bolt/Utils/Utils.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/BinaryFormat/Dwarf.h"
Expand All @@ -20,11 +21,8 @@
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAsmLayout.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
Expand Down
2 changes: 0 additions & 2 deletions bolt/lib/Rewrite/MachORewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,8 @@
#include "bolt/Rewrite/ExecutableFileMemoryManager.h"
#include "bolt/RuntimeLibs/InstrumentationRuntimeLibrary.h"
#include "bolt/Utils/Utils.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAsmLayout.h"
#include "llvm/MC/MCObjectStreamer.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/ToolOutputFile.h"

Expand Down
37 changes: 14 additions & 23 deletions bolt/lib/Rewrite/RewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,8 @@
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCAsmLayout.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCObjectStreamer.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/TargetRegistry.h"
Expand Down Expand Up @@ -321,27 +319,6 @@ namespace bolt {

extern const char *BoltRevision;

extern MCPlusBuilder *createX86MCPlusBuilder(const MCInstrAnalysis *,
const MCInstrInfo *,
const MCRegisterInfo *);
extern MCPlusBuilder *createAArch64MCPlusBuilder(const MCInstrAnalysis *,
const MCInstrInfo *,
const MCRegisterInfo *);

} // namespace bolt
} // namespace llvm

namespace {

bool refersToReorderedSection(ErrorOr<BinarySection &> Section) {
auto Itr =
std::find_if(opts::ReorderData.begin(), opts::ReorderData.end(),
[&](const std::string &SectionName) {
return (Section && Section->getName() == SectionName);
});
return Itr != opts::ReorderData.end();
}

MCPlusBuilder *createMCPlusBuilder(const Triple::ArchType Arch,
const MCInstrAnalysis *Analysis,
const MCInstrInfo *Info,
Expand All @@ -359,6 +336,20 @@ MCPlusBuilder *createMCPlusBuilder(const Triple::ArchType Arch,
llvm_unreachable("architecture unsupported by MCPlusBuilder");
}

} // namespace bolt
} // namespace llvm

namespace {

bool refersToReorderedSection(ErrorOr<BinarySection &> Section) {
auto Itr =
std::find_if(opts::ReorderData.begin(), opts::ReorderData.end(),
[&](const std::string &SectionName) {
return (Section && Section->getName() == SectionName);
});
return Itr != opts::ReorderData.end();
}

} // anonymous namespace

RewriteInstance::RewriteInstance(ELFObjectFileBase *File, const int Argc,
Expand Down
Loading