Skip to content

Bump to green commit from Nov. 14 #6

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,205 commits into from
Dec 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1205 commits
Select commit Hold shift + click to select a range
56202c5
Revert "[amdgpu][lds] Use the same isKernel predicate consistently"
JonChesterfield Nov 9, 2022
810b8fd
[X86] Replace unnecessary CVTPS2PI/CVTPS2DQ overrides with better bas…
RKSimon Nov 9, 2022
1ca03a5
Rename unique-types2/TestUniqueTypes.py to TestUniqueTypes2.py
jasonmolenda Nov 9, 2022
453c287
[include-cleaner] Add dependency to fix build with shared libraries
ilya-biryukov Nov 9, 2022
b565e7f
Don't try to create Expressions when the process is running.
jimingham Nov 9, 2022
d518ed4
Handle aliasing a non-top-level command.
jimingham Nov 9, 2022
5905246
Move googletest to the third-party directory
tstellar Nov 9, 2022
c92ddf4
[ORC] Add a unit test to verify that bound weak symbols can't be over…
lhames Nov 9, 2022
0453857
[clang] Mention vector in the description for -mno-implict-float.
topperc Nov 9, 2022
5e3df94
[RISCV] Rework hasAllWUsers in RISCVSExtWRemoval. NFCI
topperc Nov 9, 2022
7f018b4
[RISCV] Support SB/SH/SW in hasAllWUsers in RISCVSExtWRemoval.
topperc Nov 9, 2022
bc6df57
[RISCV] Improve support for ADD_UW/SHXADD_UW in hasAllWUsers.
topperc Nov 9, 2022
902976a
[RISCV] Support shift/rotate amount operands in isAllUsesReadW.
topperc Nov 9, 2022
0b01aeb
[RISCV] Support BSET/BCLR/BINV in hasAllWUsers.
topperc Nov 9, 2022
8a084f6
Revert "Move googletest to the third-party directory"
tstellar Nov 9, 2022
e044796
[llvm-diff] Fix false-positive diffs on forward-referencing phi nodes
jasilvanus Oct 27, 2022
40dffef
[compiler-rt][hwasan] Do not call InitLoadedGlobals in __hwasan_init
PiJoules Nov 8, 2022
7612e58
[compiler-rt][hwasan] Call __hwasan_library_loaded via
PiJoules Nov 8, 2022
dc9846c
[Test][AIX][p] Add 64-bit linker invocation tests
SanitizedMemory Nov 8, 2022
d206153
[mlir][vector] Modify constraint and interface for warp reduce on f16…
raikonenfnu Nov 9, 2022
e07a704
[Test][AIX][pg] Add 32-bit linker invocation tests
SanitizedMemory Nov 8, 2022
82ca918
[clangd] Fix the code action `RemoveUsingNamespace`
v1nh1shungry Nov 9, 2022
4d5a9c1
Using higher level interface to insert new arguments so arguments
Renaud-K Nov 9, 2022
8bcf5df
Revert "[AArch64][SME] Disable GlobalISel/FastISel for SME functions."
sdesmalen-arm Nov 9, 2022
a61a9a7
[mlir][sparse] first end-to-end matmul with codegen
aartbik Nov 9, 2022
b7c0a40
[libc++] Add FTM for constexpr vector
philnik777 Nov 9, 2022
72f8955
[CodeGen][AArch64] Enable LDAPR under +RCPC
alexander-shaposhnikov Nov 9, 2022
3538ca3
[flang] Propagate more FastMath flags to lowering.
vzakhari Nov 9, 2022
a11cd0d
Move googletest to the third-party directory
tstellar Nov 9, 2022
bc955ca
[flang] Support arith::FastMathFlagsAttr for fir::CallOp.
vzakhari Nov 9, 2022
d756603
[ORC] Fix typo in unit test.
lhames Nov 10, 2022
26ef386
[mlir][sparse] Add optional size_hint operand to bufferization.alloc_…
bixia1 Nov 7, 2022
0e52030
[AArch64][SVE] Migrate tests to use opaque pointers (NFC)
Nov 10, 2022
39c8065
[mlir][vector] Convert extract_strided_slice to extract & insert chain
antiagainst Nov 10, 2022
ce2474f
[gn build] port a11cd0d94ed3 (gtest llvm/utils/unittest -> third-part…
nico Nov 10, 2022
2f2b465
cmake: Fix build with -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON
tstellar Nov 10, 2022
c9eeaed
[libc++] Add a script to generate the libc++ BuildKite pipeline dynam…
ldionne Nov 10, 2022
04b449e
The fillOp's value needs to casted
Nov 4, 2022
f57557d
[bazel] Update gtest move to third-party
rupprecht Nov 10, 2022
e6cbb91
[mlir][sparse] skip zeros during dense2sparse
aartbik Nov 9, 2022
454758a
[PowerPC] add a new subtarget feature fastMFLR
Nov 8, 2022
873584b
[ORC-RT][MachO] Add RecordSectionsTracker utility to track metadata s…
lhames Nov 9, 2022
90bf417
[ORC] Fix comments: SymbolStringPool is thread-safe, not multi-threaded.
lhames Nov 9, 2022
8fda890
[ORC-RT] Add a SymbolStringPool class to the ORC runtime.
lhames Nov 9, 2022
eae8d93
[sanitizer] Add GetMaxVirtualAddress() support for LoongArch
Nov 10, 2022
14cd113
[sanitizer] Add the settings of Read and Write flags in SignalContext…
Nov 10, 2022
91bc4ab
[sanitizer][test] Fix FastUnwindTest on LoongArch
Nov 10, 2022
8993f3e
[sanitizer] Add symbolizer support for loongarch64
Nov 10, 2022
f151274
[mlir][sparse] Fix Python interface for bufferization.alloc_tensor.
bixia1 Nov 10, 2022
3ba498d
[fuzzer][test] Add #include <cstdint> for gcc-13
Nov 10, 2022
49b07fb
[OpenMP][test] Add #include <cstdint> for gcc-13
Ami-zhang Nov 10, 2022
97842fc
[LLDB] Add LoongArch software breakpoint trap opcode
seehearfeel Nov 10, 2022
47b0758
[SampleFDO] Persist profile staleness metrics into binary
wlei-llvm Oct 25, 2022
a86b506
[NFC] Fixing a comment and some indentations
Nov 10, 2022
d480271
[ADT][Triple] Add environment kinds for LoongArch GNU multiarch tuples
xen0n Nov 10, 2022
18df04c
Run test only on x86_64-linux to fix a build break
wlei-llvm Nov 10, 2022
dd9f796
[ObjC] avoid crashing when emitting synthesized getter/setter and ptr…
mhjacobson Aug 6, 2022
7f07c4d
[SanitizerCoverage] Fix wrong pointer type return from CreateSecStart…
yingcong-wu Nov 10, 2022
04fb3e3
[C++20] [Modules] Document the behavior about reserved module names
ChuanqiXu9 Nov 10, 2022
71ec751
[LoongArch] Fix atomic store pointer operand sequence error
gonglingqin Nov 10, 2022
e3fef88
[AArch64][SVE2] Add the SVE2.1 tbxq instruction
david-arm Nov 8, 2022
098e201
[AArch64][SVE2] Add the SVE2.1 permute vector elements (quadword) ins…
david-arm Nov 7, 2022
135a927
[Clang][LoongArch] Handle -march/-m{single,double,soft}-float/-mfpu o…
SixWeining Oct 27, 2022
60e5cfe
[Clang][LoongArch] Define more LoongArch specific built-in macros
SixWeining Oct 27, 2022
85f08c4
[Clang][LoongArch] Implement __builtin_loongarch_dbar builtin
gonglingqin Nov 10, 2022
2bcf51c
X86: call fp16-conversion functions soft-float on Darwin.
TNorthover Oct 18, 2022
af0f151
[AArch64-SVE][streaming-mode]: Add tests for masked/truncating/extend…
hassnaaHamdi Oct 24, 2022
261b3f7
[X86] Add missing Zen3 model subtypes
RKSimon Nov 10, 2022
d0b2f18
[mlir][NFC] Use fully qualified names in BufferizableOpInterface
vinograd47 Nov 9, 2022
c85bd25
Reland "[AArch64][SME] Disable GlobalISel/FastISel for SME functions."
sdesmalen-arm Nov 10, 2022
92297bd
[clangd] Implement hover for string literals
v1nh1shungry Nov 10, 2022
d5fb596
[flang][OpenMP] Add parser support for Requires directive
skatrak Nov 10, 2022
de4364f
[LLD][MinGW] Add --error-limit=<N> option
alvinhochun Nov 10, 2022
7d5c8cb
[LoongArch] Added spill/reload/copy support for CFRs
wangleiat Nov 10, 2022
06a7e04
[RISCV][NFC] Fix unused variable warning.
Nov 8, 2022
9564897
[AArch64-SVE]: Force generating code compatible to streaming mode.
hassnaaHamdi Nov 1, 2022
30498cf
[X86] SkylakeClientModel - conversion instructions don't use Port015
RKSimon Nov 10, 2022
af6b1f7
[AsmParser] Match mandatory operands following optional operands.
kosarev Nov 10, 2022
ef848f2
[AsmParser] Match mandatory operands following optional operands.
kosarev Nov 7, 2022
926acd2
[AMDGPU][AsmParser] Remove extra checks on missing instruction modifi…
kosarev Nov 10, 2022
0436cf5
[LoongArch] Support parsing target specific flags for MIR
wangleiat Nov 10, 2022
27091e6
[PEI][NFC] Refactoring of the debug instructions frame index replacement
alex-t Nov 9, 2022
5bc36c8
[X86] Add necessary check isReg() when updating LiveVariables in conv…
yubingex007-a11y Nov 4, 2022
d20c54c
[LoongArch] Override TargetFrameLowering::spillCalleeSavedRegisters
wangleiat Nov 10, 2022
4fde94f
[libunwind][NFC] Fix typo in libunwind debug string
jinge90 Nov 10, 2022
f76d3f3
[bazel] Add LoongArch for 85f08c4197aea68b2444e6874524b5f8b4067cfd
krasimirgg Nov 10, 2022
22eef90
[AArch64][SVE][NFC] Add streaming mode SVE tests
hassnaaHamdi Nov 9, 2022
c3c94a8
[gn build] port b60f801607543
nico Nov 10, 2022
f9256fc
[gn build] Port 135a9272a4c9
llvmgnsyncbot Nov 10, 2022
baf4930
[gn build] Port 85f08c4197ae
llvmgnsyncbot Nov 10, 2022
e1b88c8
[clang] Only use major version in resource dir
tbaederr Jun 9, 2022
4299ff5
[flang][NFC] Rename RewriteLoop.cpp to ControlFlowConverter.cpp
clementval Nov 10, 2022
00d98e6
[AArch64] RME MEC instructions and system registers
walkerkd Nov 4, 2022
9d51b4e
[mlir][vector] Support vector.extractelement distribution of 1D vectors
matthias-springer Nov 10, 2022
0caf2ba
[bazel] Provide CLANG_VERSION_MAJOR_STRING for e1b88c8a09be25b86b13f9…
d0k Nov 10, 2022
1ef2a92
[PowerPC] Add the SUBFUS instruction to Future CPU.
stefanp-synopsys Nov 9, 2022
f3e8a11
[include-cleaner] Add export IWYU pragma support.
hokein Nov 2, 2022
c3821b8
[flang] Add -fpass-plugin option to flang
tarunprabhu Nov 10, 2022
369237a
[gn build] port e1b88c8a09be (clang resource dir uses only major vers…
nico Nov 10, 2022
7276b64
[mlir][sparse] Add option enable-buffer-initialization to the sparse-…
bixia1 Nov 10, 2022
69665c4
[flang][nfc] Add missing `REQUIRES` flag in a test
banach-space Nov 10, 2022
ecab1bc
[AArch64]SME2 Multi vector Sel Load and Store instructions
CarolineConcatto Nov 2, 2022
5f9e049
In the case the function body is empty, shifting attributes as insert…
Renaud-K Nov 10, 2022
4d183b4
Add constant time mapping from enumeration to string in ENUM_CLASS
Renaud-K Nov 7, 2022
9fe5ca9
AArch64/GlobalISel: Regenerate test checks
arsenm Nov 10, 2022
6a88bce
Add deduction guides for IRBuilder
Nov 1, 2022
563d03d
[SLP][NFC]Add a test for vectorization with scheduling blocks order
alexey-bataev Nov 10, 2022
a2a4ccd
add LoongArchTargetParser.def to LLVM_Utils module
jasonmolenda Nov 10, 2022
868186c
[lldb] Make callback-based formatter matching available from the CLI.
slackito Nov 10, 2022
790cbaa
[OpenCL] Fix diagnostics with templates in kernel args.
Nov 10, 2022
b505fd5
[SLP]Redesign vectorization of the gather nodes.
alexey-bataev Sep 16, 2022
1ab3d30
AArch64/GlobalISel: Regenerate some test checks to include -NEXT
arsenm Nov 10, 2022
244ac4f
[SystemZ] add test for mergeTruncStores miscompile; NFC
rotateright Nov 10, 2022
b57819e
[VectorCombine] widen a load with subvector insert
rotateright Nov 10, 2022
0c111dd
[libc++] Documents details of the pre-commit CI.
mordante Aug 4, 2022
380a038
Updated contact email address.
Nov 10, 2022
fd8ba4f
[release] Add third-party tarball to release for standalone builds
kwk Nov 10, 2022
bd2b5ec
[InstCombine] PR58901 - fix bug with swapping GEP of different types
huangjd Nov 10, 2022
1cb97a1
docs: Add instructions for stand-alone builds of clang
tstellar Nov 10, 2022
a7ba84a
cmake: Inline the add_llvm_symbol_exports.py script
tstellar Nov 10, 2022
f6b2529
[clang-format] Add BreakBeforeInlineASMColon configuration
NastyaVicodin Nov 10, 2022
316e259
[clang-format][NFC] More sorting in getLLVMStyle()
HazardyKnusperkeks Nov 10, 2022
9dcaca7
[lldb][test] TestConstStaticIntegralMember.py: fix for clang-{9,11,13}
Michael137 Nov 10, 2022
58167f6
[InstSimplify] add tests for fadd/fsub with inf constant operand; NFC
rotateright Nov 10, 2022
fbc2c8f
[InstSimplify] fold X +nnan Inf
rotateright Nov 10, 2022
d34dce2
[Flang] Allow registering plugin extensions with the pass builder
UsmanNadeem Nov 10, 2022
6a8d894
[CodeGen][Test] simplify callbr-asm-outputs.ll with nounwind NFC
nickdesaulniers Nov 10, 2022
ccd1a5b
[mlir][sparse] Fix a bug in rewriting for the convert op.
bixia1 Nov 10, 2022
948fc66
[lld-macho] Set 4-byte alignment for `__init_offsets`
BertalanD Nov 10, 2022
f2981a3
[SelectDagISEL] refactor HandlePHINodesInSuccessorBlocks NFC.
nickdesaulniers Nov 10, 2022
353f265
Apparently I moved the wrong one to "2", then Jason moved the right
jimingham Nov 10, 2022
1f48f4d
[mlir][sparse] Fix a test to check all output coordinates.
bixia1 Nov 10, 2022
239737e
Apply clang-tidy fixes for performance-unnecessary-value-param in Spa…
joker-eph Nov 3, 2022
e66d79e
Apply clang-tidy fixes for readability-identifier-naming in TosaOps.c…
joker-eph Nov 3, 2022
48321ee
Check m_dyld_up directly in LoadBinariesViaMetadata
jasonmolenda Nov 10, 2022
97105e5
[libclang] Expose completion result kind in `CXCompletionResult`
egorzhdan Oct 31, 2022
dc26c03
[mlir][vector] Add insertOp src shape check for BubbleUpBitCastForStr…
raikonenfnu Nov 11, 2022
6890b9b
Add missing changes for "[Clang][LoongArch] Handle -march/-m{single,d…
SixWeining Nov 11, 2022
ffb109b
[AArch64][SVE] Support logical operation BIC with DestructiveBinary p…
vfdff Nov 11, 2022
da34aff
[Clang][LoongArch] Implement __builtin_loongarch_crc_w_d_w builtin an…
gonglingqin Nov 10, 2022
885e610
Revert "[LTO] Make local linkage GlobalValue in non-prevailing COMDAT…
alanzhao1 Nov 11, 2022
2082188
[lldb/test] Fix app_specific_backtrace_crashlog.test (NFC)
medismailben Nov 11, 2022
8ea3cf4
AMDGPU: Use generic is.fpclass enum instead of locally defined copy
arsenm Nov 10, 2022
e80e65d
[RISCV] Add OPCFG format of vector. NFC
topperc Nov 11, 2022
48c4da2
[RISCV] Use OPCFG format record for vsetvli in tablgen. NFC
topperc Nov 11, 2022
8901635
[LTO] Make local linkage GlobalValue in non-prevailing COMDAT availab…
MaskRay Nov 11, 2022
094c0ec
Avoid fallthrough after ffb109b6852d248c9d2e3202477dccf20aac7151
rupprecht Nov 11, 2022
3cfa038
AtomicExpand: Support cmpxchg expansion for small FP types
arsenm Sep 22, 2022
070ab2b
[LangRef][LoongArch] Update inline asm constraint code and operand mo…
XiaodongLoong Nov 11, 2022
bc6666a
[RISCV] Remove unused CHECK lines from test. NFC
topperc Nov 11, 2022
1099498
[OpenMP] [OMPD] Testcases for libompd
vigbalu Nov 11, 2022
a5d14f7
Add builtin_elementwise_sin and builtin_elementwise_cos
bob80905 Nov 11, 2022
7863646
[clang][Interp] DerivedToBase casts
tbaederr Nov 7, 2022
0dcfd0c
[clang][Interp] Support alignof()
tbaederr Nov 2, 2022
99d3ead
[clang][Interp] Protect Record creation against infinite recursion
tbaederr Oct 27, 2022
6663f34
[mlir] Introduce device mapper attribute for `thread_dim_map` and `ma…
grypp Nov 10, 2022
7a5332b
[opt] Remove support for using -O[0|1|2|3|s|z] with legacy PM in opt
bjope Nov 8, 2022
a1e7992
[AArch64] Add smull sinking extract-and-splat tests and regenerate ne…
davemgreen Nov 11, 2022
7795548
[include-cleaner] Initial version for the "Location=>Header" step
hokein Nov 11, 2022
b7162e1
[mlir] Fix incorrect access to the Optional<ArrayAttr> underlying val…
pifon2a Nov 11, 2022
b1e9c43
[Test] Add test for crash in IRCE when IV is AddRec for another loop
d-makogon Nov 11, 2022
07665e7
[mlir] Fix forward the fix for incorrect Optional<ArrayAttr> usage.
pifon2a Nov 11, 2022
e6598b0
Revert "Revert "[mlir][linalg] Replace "string" iterator_types attr w…
olegshyshkov Nov 10, 2022
8a8983b
[Hexagon] Use default attributes for intrinsics
nikic Nov 8, 2022
4edcf8a
[LoongArch] Moved expansion of PseudoCALL to LoongArchPreRAExpandPseu…
wangleiat Nov 11, 2022
05baf68
[AMDGPU][MC] Disable SGPRs as src operands of VOP3 VINTRP instructions
dpreobra Nov 11, 2022
882ddab
[LoongArch] Generate PCALAU12I + JIRL instruction pair for medium cod…
wangleiat Nov 11, 2022
e62681e
[mlir][bufferize] Eliminate tensor.empty ops instead of bufferization…
matthias-springer Nov 11, 2022
0d84566
[mlir] Fix asan errors in gpu transform dialect
grypp Nov 11, 2022
61c2276
[include-cleaner] verbatimSpelling->verbatim, clean up some silly ini…
sam-mccall Nov 11, 2022
3438ed8
[openmp] Fix building in debug mode with mingw
mstorsjo Nov 6, 2022
4bf5893
[openmp] [test] Fix building the affinity/format/fields_values.c test…
mstorsjo Nov 2, 2022
323b430
[openmp] [test] Use omp_testsuite.h instead of directly including pth…
mstorsjo Nov 2, 2022
29ef16c
[openmp] [test] Set the right calling convention for the Windows thre…
mstorsjo Nov 10, 2022
8dfaf99
[include-cleaner] Provide public to_string of RefType (for HTMLReport…
sam-mccall Nov 11, 2022
1da74ee
[Clang][LoongArch] Remove duplicate declaration. NFC
wangleiat Nov 11, 2022
7943169
[clang-include-cleaner] make SymbolLocation a real class, move FindHe…
sam-mccall Nov 11, 2022
2f1c942
for Vignesh: land changes to disable two recent ompd random fails
ronlieb Nov 11, 2022
1e2c20f
[compiler-rt] Mark $t* as clobbered for Linux/LoongArch syscalls
lixing-star Nov 11, 2022
28b2f79
[mlir][bufferize][NFC] Consolidate transform header files
matthias-springer Nov 11, 2022
15b2702
[include-cleaner] NFC, correct a comment in
hokein Nov 11, 2022
21f1b2d
[InstSimplify] fold fsub nnan with Inf operand
rotateright Nov 10, 2022
e000c2b
[include-cleaner] NFC, move the macro location fixme to findHeaders.
hokein Nov 11, 2022
4d33cf4
[MemCpyOpt] Avoid moving lifetime marker above def (PR58903)
nikic Nov 11, 2022
c2c48f0
[InstSimplify] add test for fsub with inf operand; NFC
rotateright Nov 11, 2022
2116d69
[X86] Replace unnecessary CVTPS2DQ folded overrides with better base …
RKSimon Nov 11, 2022
91628f0
The handling of 'funsafe-math-optimizations' doesn't update the 'Math…
zahiraam Nov 7, 2022
bd27ac4
Precommit for redundant and after SVE load
MacDue Nov 8, 2022
2d7e5e2
[LV] Remove unused OrigLoopID argument from completeLoopSekelton (NFC).
fhahn Nov 11, 2022
81896f8
[NFC] Remove unused OrigLoopID vars
rupprecht Nov 11, 2022
a77a02a
consistency: use spaces instead of tabs
sylvestre Nov 11, 2022
57416d8
[mlir][sparse] Fix a bug in rewriting dense2dense convert op.
bixia1 Nov 11, 2022
3e4280c
AMDGPU: Disable some class simplifications for strictfp
arsenm Nov 11, 2022
558db77
[LLDB] Devirtualize coroutine promise types for `std::coroutine_handle`
vogelsgesang Aug 24, 2022
192b715
[X86] Split int2double and float2double scheduler classes on Haswell/…
RKSimon Nov 11, 2022
da74956
[mlir][sparse] Extend more integration to run on the codegen path.
bixia1 Nov 11, 2022
78eead2
[NFC][AArch64]Call encoding functions for left-shift immediate (which…
mingmingl-llvm Nov 10, 2022
d7e1c27
Revert "[LLDB] Devirtualize coroutine promise types for `std::corouti…
vogelsgesang Nov 11, 2022
33d848b
Fix typo; NFC
AaronBallman Nov 11, 2022
cf15d23
[ObjectYAML] Basic support for chained fixups.
drodriguez Nov 11, 2022
ed39825
Model UB in integer division operations in the arith dialect
Nov 11, 2022
deeaec7
Add a const version of SDUse::getUser [nfc]
preames Nov 11, 2022
28e0798
Revert "[Clang][AArch64][Darwin] Enable GlobalISel by default for Dar…
abrachet Nov 11, 2022
2d2854c
[lldb] [cmake] Fix typo in unittest directory path
mgorny Nov 11, 2022
8f121a3
[lldb] Update regex to be less fragile in TestDataFormatterGenericUno…
kastiglione Nov 11, 2022
0f7e863
[LinkerWrapper] Perform device linking steps in parallel
jhuber6 Oct 25, 2022
88aac16
[LinkerWrapper] Fix -Wpessimizing-move
MaskRay Nov 11, 2022
b66da73
[lldb] Don't assume name of libc++ inline namespace in LibCxxUnordere…
kastiglione Nov 11, 2022
0171862
[Hexagon] Place aligned loads closer to users
Nov 8, 2022
dd2165e
[objcopy] Fix order of Mach-O LINKEDIT pieces during layout
drodriguez Nov 11, 2022
7e835ae
[mlir][arith] Add `arith.cmpi` support to WIE
kuhar Nov 11, 2022
095f7bd
[InstCombine] add tests for binop with select operand; NFC
rotateright Nov 11, 2022
681a6a3
[InstCombine] allow more folds more multi-use selects
rotateright Nov 11, 2022
ec210f3
[LoopFuse] Ensure inner loops are in loop simplified form under new PM
Narutoworld Nov 11, 2022
8ca7ed7
llvm-reduce: Report number of new chunks
arsenm Oct 20, 2022
5ab1a8a
[mlir][sparse] fix crash when calling getTuple on non-sparse tensors.
Nov 11, 2022
3acbadd
[NFC][AArch64]Precommit test cases to show ORR is better when one ope…
mingmingl-llvm Nov 9, 2022
0f9ef8b
[AArch64] Select BFI/BFXIL to ORR with shifted operand when one opera…
mingmingl-llvm Nov 9, 2022
307f395
[lldb] Allow flexible importing of in_call_stack
kastiglione Nov 11, 2022
89b7391
llvm-reduce: Use DenseSet
arsenm Oct 24, 2022
ea48d25
llvm-reduce: Minor code cleanups
arsenm Oct 24, 2022
d295723
[NFC] Remove unused var Op
rupprecht Nov 11, 2022
7c0362b
llvm-diff: Add failing testcase for issue 58629
arsenm Oct 23, 2022
57dbca2
Revert "[Hexagon] Use default attributes for intrinsics"
alinas Nov 11, 2022
cb40d52
[mlir][Linalg] Avoid using `tensor.cast` by default while folding `fi…
Nov 11, 2022
b473734
docs: add instructions for stand-alone builds of lld
tstellar Nov 11, 2022
5f479ee
[ORC] Capture JD by value in MachOPlatform::pushInitializersLoop.
lhames Nov 11, 2022
e770746
[ORC-RT][MachO] Unlock JDStatesMutex during push-initializers to avoi…
lhames Nov 11, 2022
4d25761
[libc] move fork into threads folder
michaelrj-google Nov 11, 2022
5223366
[lldb] Fix SBFileSpec.fullpath for Windows
kastiglione Nov 11, 2022
b5bf908
Disable OMPD tests. Causing CMake issue.
ye-luo Nov 12, 2022
76db4e3
clang: Fix unnecessary truncation of resource limit values
arsenm Nov 12, 2022
ff2b60b
WebAssembly: Remove MachineFunction reference from MFI
arsenm Nov 2, 2022
4f2f7e8
Analysis: Reorder code in isDereferenceableAndAlignedPointer
arsenm Sep 19, 2022
0389438
[libc++] Add a libc++ CI pipeline specific to Clang changes
ldionne Nov 10, 2022
a58541f
AMDGPU: Fold llvm.amdgcn.sqrt(undef)
arsenm Jun 26, 2020
1fb5c7a
[lldb] Rewrite to assertEqual/assertNotEqual (NFC)
kastiglione Nov 12, 2022
78f172e
[libc] Implement gettimeofday
rtenneti-google Nov 12, 2022
35155ee
Removed tabs.
rtenneti-google Nov 12, 2022
725e084
[mlir][sparse] fix incorrect coordinates ordering computed by the for…
Nov 12, 2022
2179f51
[AArch64][GlobalISel] Select TBZ for icmp sge x, 0.
aemerson Nov 12, 2022
8b3f783
[X86] Reduce unnecessary instregex for AlderlakeP schedule model
HaohaiWen Nov 12, 2022
e588d23
Add back single quotes when dontcall attribute was split into dontcal…
MaskRay Nov 12, 2022
ae503d3
[RISCV] Use template to reduce some code. NFC
topperc Nov 12, 2022
a9f9520
[RISCV] Rename template parameter. NFC
topperc Nov 12, 2022
96e2390
[clang-format] Correctly annotate function names before attributes
owenca Nov 5, 2022
e864ac6
[clang-format] Treats &/&& as reference when followed by ',' or ')'
red1bluelost Nov 12, 2022
4eb1e1f
Bump to green commit 'e864ac694540342d5e59f59c525c5082f2594fb8'
gargaroff Dec 1, 2022
1ee000f
fix(Unfuse.cpp): adapt to new IteratorType enum from StringRef
gargaroff Dec 1, 2022
77a1e5b
style(Unfuse.cpp): clang-format file
gargaroff Dec 1, 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.
4 changes: 4 additions & 0 deletions bolt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ if (BOLT_ENABLE_RUNTIME)
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
-DCMAKE_INSTALL_PREFIX=${LLVM_BINARY_DIR}
-DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX}
BUILD_ALWAYS True
)
install(CODE "execute_process\(COMMAND \${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=\${CMAKE_INSTALL_PREFIX} -P ${CMAKE_CURRENT_BINARY_DIR}/bolt_rt-bins/cmake_install.cmake \)"
Expand Down Expand Up @@ -87,3 +88,6 @@ option(BOLT_INCLUDE_DOCS "Generate build targets for the BOLT docs."
if (BOLT_INCLUDE_DOCS)
add_subdirectory(docs)
endif()

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/bolt/RuntimeLibs/RuntimeLibraryVariables.inc.in
${CMAKE_CURRENT_BINARY_DIR}/include/bolt/RuntimeLibs/RuntimeLibraryVariables.inc @ONLY)
29 changes: 29 additions & 0 deletions bolt/include/bolt/Passes/Hugify.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
//===- bolt/Passes/Hugify.h -------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#ifndef BOLT_PASSES_HUGIFY_H
#define BOLT_PASSES_HUGIFY_H

#include "bolt/Passes/BinaryPasses.h"

namespace llvm {
namespace bolt {

class HugePage : public BinaryFunctionPass {
public:
HugePage(const cl::opt<bool> &PrintPass) : BinaryFunctionPass(PrintPass) {}

void runOnFunctions(BinaryContext &BC) override;

const char *getName() const override { return "HugePage"; }
};

} // namespace bolt
} // namespace llvm

#endif
6 changes: 2 additions & 4 deletions bolt/include/bolt/RuntimeLibs/HugifyRuntimeLibrary.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,11 @@ class HugifyRuntimeLibrary : public RuntimeLibrary {
public:
/// Add custom section names generated by the runtime libraries to \p
/// SecNames.
void addRuntimeLibSections(std::vector<std::string> &SecNames) const final {
SecNames.push_back(".bolt.hugify.entries");
}
void addRuntimeLibSections(std::vector<std::string> &SecNames) const final {}

void adjustCommandLineOptions(const BinaryContext &BC) const final;

void emitBinary(BinaryContext &BC, MCStreamer &Streamer) final;
void emitBinary(BinaryContext &BC, MCStreamer &Streamer) final {}

void link(BinaryContext &BC, StringRef ToolPath, RuntimeDyld &RTDyld,
std::function<void(RuntimeDyld &)> OnLoad) final;
Expand Down
17 changes: 17 additions & 0 deletions bolt/include/bolt/RuntimeLibs/RuntimeLibraryVariables.inc.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
//===-- RuntimeLibraryVariables.inc.in - bolt build variables -*- C++ -*---===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file is configured by the build system to define the runtime library
// location.
//
// The variant of this file not ending with .in has been autogenerated by the
// LLVM build. Do not edit!
//
//===----------------------------------------------------------------------===//

#define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@"
1 change: 1 addition & 0 deletions bolt/include/bolt/Utils/CommandLineOpts.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ 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<bool> Hugify;
extern llvm::cl::opt<bool> Instrument;
extern llvm::cl::opt<std::string> OutputFilename;
extern llvm::cl::opt<std::string> PerfData;
Expand Down
6 changes: 4 additions & 2 deletions bolt/lib/Core/BinaryEmitter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -740,10 +740,12 @@ void BinaryEmitter::emitJumpTables(const BinaryFunction &BF) {

for (auto &JTI : BF.jumpTables()) {
JumpTable &JT = *JTI.second;
// Only emit shared jump tables once, when processing the first parent
if (JT.Parents.size() > 1 && JT.Parents[0] != &BF)
continue;
if (opts::PrintJumpTables)
JT.print(outs());
if ((opts::JumpTables == JTS_BASIC || !BF.isSimple()) &&
BC.HasRelocations) {
if (opts::JumpTables == JTS_BASIC && BC.HasRelocations) {
JT.updateOriginal();
} else {
MCSection *HotSection, *ColdSection;
Expand Down
1 change: 1 addition & 0 deletions bolt/lib/Passes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ add_llvm_library(LLVMBOLTPasses
FrameOptimizer.cpp
HFSort.cpp
HFSortPlus.cpp
Hugify.cpp
IdenticalCodeFolding.cpp
IndirectCallPromotion.cpp
Inliner.cpp
Expand Down
50 changes: 50 additions & 0 deletions bolt/lib/Passes/Hugify.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
//===--- bolt/Passes/Hugify.cpp -------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "bolt/Passes/Hugify.h"
#include "llvm/Support/CommandLine.h"

#define DEBUG_TYPE "bolt-hugify"

using namespace llvm;

namespace llvm {
namespace bolt {

void HugePage::runOnFunctions(BinaryContext &BC) {
auto *RtLibrary = BC.getRuntimeLibrary();
if (!RtLibrary || !BC.isELF() || !BC.StartFunctionAddress) {
return;
}

auto createSimpleFunction =
[&](std::string Title, std::vector<MCInst> Instrs) -> BinaryFunction * {
BinaryFunction *Func = BC.createInjectedBinaryFunction(Title);

std::vector<std::unique_ptr<BinaryBasicBlock>> BBs;
BBs.emplace_back(Func->createBasicBlock(nullptr));
BBs.back()->addInstructions(Instrs.begin(), Instrs.end());
BBs.back()->setCFIState(0);
BBs.back()->setOffset(BinaryBasicBlock::INVALID_OFFSET);

Func->insertBasicBlocks(nullptr, std::move(BBs),
/*UpdateLayout=*/true,
/*UpdateCFIState=*/false);
Func->updateState(BinaryFunction::State::CFG_Finalized);
return Func;
};

const BinaryFunction *const Start =
BC.getBinaryFunctionAtAddress(*BC.StartFunctionAddress);
assert(Start && "Entry point function not found");
const MCSymbol *StartSym = Start->getSymbol();
createSimpleFunction("__bolt_hugify_start_program",
BC.MIB->createSymbolTrampoline(StartSym, BC.Ctx.get()));
}
} // namespace bolt
} // namespace llvm
3 changes: 3 additions & 0 deletions bolt/lib/Rewrite/BinaryPassManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include "bolt/Passes/AsmDump.h"
#include "bolt/Passes/CMOVConversion.h"
#include "bolt/Passes/FrameOptimizer.h"
#include "bolt/Passes/Hugify.h"
#include "bolt/Passes/IdenticalCodeFolding.h"
#include "bolt/Passes/IndirectCallPromotion.h"
#include "bolt/Passes/Inliner.h"
Expand Down Expand Up @@ -333,6 +334,8 @@ void BinaryFunctionPassManager::runAllPasses(BinaryContext &BC) {

if (opts::Instrument)
Manager.registerPass(std::make_unique<Instrumentation>(NeverPrint));
else if (opts::Hugify)
Manager.registerPass(std::make_unique<HugePage>(NeverPrint));

Manager.registerPass(std::make_unique<ShortenInstructions>(NeverPrint));

Expand Down
11 changes: 11 additions & 0 deletions bolt/lib/Rewrite/RewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,11 @@ Error RewriteInstance::discoverStorage() {
NextAvailableAddress = alignTo(NextAvailableAddress, BC->PageAlign);
NextAvailableOffset = alignTo(NextAvailableOffset, BC->PageAlign);

// Hugify: Additional huge page from left side due to
// weird ASLR mapping addresses (4KB aligned)
if (opts::Hugify && !BC->HasFixedLoadAddress)
NextAvailableAddress += BC->PageAlign;

if (!opts::UseGnuStack) {
// This is where the black magic happens. Creating PHDR table in a segment
// other than that containing ELF header is tricky. Some loaders and/or
Expand Down Expand Up @@ -3719,6 +3724,12 @@ void RewriteInstance::mapCodeSections(RuntimeDyld &RTDyld) {
Address = alignTo(Address, Section->getAlignment());
Section->setOutputAddress(Address);
Address += Section->getOutputSize();

// Hugify: Additional huge page from right side due to
// weird ASLR mapping addresses (4KB aligned)
if (opts::Hugify && !BC->HasFixedLoadAddress &&
Section->getName() == BC->getMainCodeSectionName())
Address = alignTo(Address, Section->getAlignment());
}

// Make sure we allocate enough space for huge pages.
Expand Down
29 changes: 0 additions & 29 deletions bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,35 +60,6 @@ void HugifyRuntimeLibrary::adjustCommandLineOptions(
}
}

void HugifyRuntimeLibrary::emitBinary(BinaryContext &BC, MCStreamer &Streamer) {
const BinaryFunction *StartFunction =
BC.getBinaryFunctionAtAddress(*(BC.StartFunctionAddress));
assert(!StartFunction->isFragment() && "expected main function fragment");
if (!StartFunction) {
errs() << "BOLT-ERROR: failed to locate function at binary start address\n";
exit(1);
}

const auto Flags = BinarySection::getFlags(/*IsReadOnly=*/false,
/*IsText=*/false,
/*IsAllocatable=*/true);
MCSectionELF *Section =
BC.Ctx->getELFSection(".bolt.hugify.entries", ELF::SHT_PROGBITS, Flags);

// __bolt_hugify_init_ptr stores the poiter the hugify library needs to
// jump to after finishing the init code.
MCSymbol *InitPtr = BC.Ctx->getOrCreateSymbol("__bolt_hugify_init_ptr");

Section->setAlignment(llvm::Align(BC.RegularPageSize));
Streamer.switchSection(Section);

Streamer.emitLabel(InitPtr);
Streamer.emitSymbolAttribute(InitPtr, MCSymbolAttr::MCSA_Global);
Streamer.emitValue(
MCSymbolRefExpr::create(StartFunction->getSymbol(), *(BC.Ctx)),
/*Size=*/8);
}

void HugifyRuntimeLibrary::link(BinaryContext &BC, StringRef ToolPath,
RuntimeDyld &RTDyld,
std::function<void(RuntimeDyld &)> OnLoad) {
Expand Down
5 changes: 3 additions & 2 deletions bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
//===----------------------------------------------------------------------===//

#include "bolt/RuntimeLibs/RuntimeLibrary.h"
#include "bolt/RuntimeLibs/RuntimeLibraryVariables.inc"
#include "bolt/Utils/Utils.h"
#include "llvm/BinaryFormat/Magic.h"
#include "llvm/ExecutionEngine/RuntimeDyld.h"
Expand All @@ -28,12 +29,12 @@ std::string RuntimeLibrary::getLibPath(StringRef ToolPath,
StringRef LibFileName) {
StringRef Dir = llvm::sys::path::parent_path(ToolPath);
SmallString<128> LibPath = llvm::sys::path::parent_path(Dir);
llvm::sys::path::append(LibPath, "lib");
llvm::sys::path::append(LibPath, "lib" LLVM_LIBDIR_SUFFIX);
if (!llvm::sys::fs::exists(LibPath)) {
// In some cases we install bolt binary into one level deeper in bin/,
// we need to go back one more level to find lib directory.
LibPath = llvm::sys::path::parent_path(llvm::sys::path::parent_path(Dir));
llvm::sys::path::append(LibPath, "lib");
llvm::sys::path::append(LibPath, "lib" LLVM_LIBDIR_SUFFIX);
}
llvm::sys::path::append(LibPath, LibFileName);
if (!llvm::sys::fs::exists(LibPath)) {
Expand Down
14 changes: 9 additions & 5 deletions bolt/runtime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,35 +15,39 @@ add_library(bolt_rt_instr STATIC
instr.cpp
${CMAKE_CURRENT_BINARY_DIR}/config.h
)
set_target_properties(bolt_rt_instr PROPERTIES LIBRARY_OUTPUT_DIRECTORY "lib${LLVM_LIBDIR_SUFFIX}")
add_library(bolt_rt_hugify STATIC
hugify.cpp
${CMAKE_CURRENT_BINARY_DIR}/config.h
)
set_target_properties(bolt_rt_hugify PROPERTIES LIBRARY_OUTPUT_DIRECTORY "lib${LLVM_LIBDIR_SUFFIX}")

set(BOLT_RT_FLAGS
-ffreestanding
-fno-exceptions
-fno-rtti
-fno-stack-protector
-mno-sse)
-mno-sse
-fPIE)

# Don't let the compiler think it can create calls to standard libs
target_compile_options(bolt_rt_instr PRIVATE ${BOLT_RT_FLAGS} -fPIE)
target_compile_options(bolt_rt_instr PRIVATE ${BOLT_RT_FLAGS})
target_include_directories(bolt_rt_instr PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_compile_options(bolt_rt_hugify PRIVATE ${BOLT_RT_FLAGS})
target_include_directories(bolt_rt_hugify PRIVATE ${CMAKE_CURRENT_BINARY_DIR})

install(TARGETS bolt_rt_instr DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(TARGETS bolt_rt_hugify DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(TARGETS bolt_rt_instr DESTINATION "lib${LLVM_LIBDIR_SUFFIX}")
install(TARGETS bolt_rt_hugify DESTINATION "lib${LLVM_LIBDIR_SUFFIX}")

if (CMAKE_CXX_COMPILER_ID MATCHES ".*Clang.*")
add_library(bolt_rt_instr_osx STATIC
instr.cpp
${CMAKE_CURRENT_BINARY_DIR}/config.h
)
set_target_properties(bolt_rt_instr_osx PROPERTIES LIBRARY_OUTPUT_DIRECTORY "lib${LLVM_LIBDIR_SUFFIX}")
target_include_directories(bolt_rt_instr_osx PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_compile_options(bolt_rt_instr_osx PRIVATE
-target x86_64-apple-darwin19.6.0
${BOLT_RT_FLAGS})
install(TARGETS bolt_rt_instr_osx DESTINATION "${CMAKE_INSTALL_LIBDIR}")
install(TARGETS bolt_rt_instr_osx DESTINATION "lib${LLVM_LIBDIR_SUFFIX}")
endif()
Loading