Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
764 commits
Select commit Hold shift + click to select a range
b6eafba
[Bitcode] Store type IDs for values
nikic Feb 14, 2022
ba17bd2
[AMDGPU] Extend SILoadStoreOptimizer to handle global loads
rampitec Feb 21, 2022
f4e9df2
[InstCombine] Add test for missed select fold due to one use limitati…
nikic Feb 22, 2022
9e055c0
[AMDGPU] Extend SILoadStoreOptimizer to handle global saddr loads
rampitec Feb 21, 2022
cedc23b
[MIPS] Add `-no-pie` option to the clang driver's tests depend on it
atanasyan Feb 22, 2022
0e74d75
[StructurizeCFG] Fix boolean not bug
jayfoad Feb 22, 2022
b47e2dc
[StableHashing] Hash machine basic blocks and functions
jayfoad Feb 18, 2022
16994a2
Fix the Sphinx build after f8cedc642d9b85720cb7175ef25ddde90a3fbca2
AaronBallman Feb 22, 2022
104d9a6
[Clang][OpenMP] Add the codegen support for `atomic compare`
shiltian Feb 22, 2022
88d66f6
[ELF] Move duplicate symbol check after input file parsing
MaskRay Feb 22, 2022
026a43f
[flang] Update PFTBuilder
clementval Feb 22, 2022
0539a26
[SLP] Schedule only sub-graph of vectorizable instructions
preames Feb 22, 2022
1da2138
[pdl] Remove `NoSideEffect` from all PDL ops
Mogball Feb 21, 2022
c525641
Updated reflection-dump.test for mpenum section
rastogishubham Feb 22, 2022
d657c68
[WebAssembly] Allow .data shorthand for .section .data,"",@
aardappel Feb 14, 2022
8612b11
[SLP] Use isInSchedulingRegion consistently [NFC]
preames Feb 22, 2022
63eb963
[mlir][pdl] NFC re-add NoSideEffect to Result and Results Op
Mogball Feb 22, 2022
ecb2700
Revert "[AArch64] Alter mull shuffle(ext(..)) combine to work on buil…
rnk Feb 22, 2022
9865c3f
Revert "[mlir][pdl] NFC re-add NoSideEffect to Result and Results Op"
rnk Feb 22, 2022
ef7b982
[mlir][pdl] NFC fix missing include
Mogball Feb 22, 2022
de2cc2a
Reland "[mlir][pdl] NFC re-add NoSideEffect to Result and Results Op"
rnk Feb 22, 2022
621e2de
Add a (nonfunctional) -dyld_info flag to llvm-objdump.
adrian-prantl Nov 10, 2021
a3bfb01
Add support for chained fixup load commands to MachOObjectFile
adrian-prantl Nov 11, 2021
b1fc966
[Driver] Support Solaris/amd64 GetTls
rorth Feb 22, 2022
cb8e9be
[sanitizer_common] Use GetStaticTlsBoundary on Solaris 11.4
rorth Feb 22, 2022
7fb02d2
[libc++][AIX] Add AIX error message as expected output
ZarkoT Feb 22, 2022
30053c1
[SystemZ/z/OS] Add va intrinsics for XPLINK
redstar Feb 22, 2022
0b302be
[Transforms] Pre-commit test cases for CorrelatedValuePropagation to …
slydiman Feb 22, 2022
90a3b31
[Transforms] Enhance CorrelatedValuePropagation to handle both values…
slydiman Feb 22, 2022
a23f7c0
Remove dead code.
adrian-prantl Feb 22, 2022
efe9fd0
Disable test on big endian machines. Yaml2obj has problems there.
adrian-prantl Feb 22, 2022
9b1ae9f
Revert "Remove dead code."
rnk Feb 22, 2022
7ebb00a
[clang-format][NFC] Simplify if in ContinuationIndenter::addTokenOCL
HazardyKnusperkeks Jan 2, 2022
923c375
[clang-format] Don't break semi after requires clause ...
HazardyKnusperkeks Feb 21, 2022
746bd89
fix comment typo to cycle bots
nico Feb 22, 2022
210bb04
[BOLT][DWARF] Remove patchLowHigh unused function.
Feb 22, 2022
f79f430
Fold Tensor.extract_slice into a constant splat.
okkwon Feb 18, 2022
d785168
[polly] Remove trailing whitespace from tests. NFC.
Meinersbur Feb 22, 2022
b3f4535
[SLP][NFC]Add a test for bottom to top reordering.
alexey-bataev Feb 22, 2022
3cc15e2
[SLP] Fix assert from non-constant index in insertelement
bcahoon Feb 21, 2022
2df019a
[gn build] bump fmsc-version to 1926
nico Feb 22, 2022
ed4f0cb
[VFS] Use generic_category for errors generated from the VFS
bnbarham Feb 22, 2022
606cb85
[lld] Require C++14 in LLD standalone build
int3 Feb 22, 2022
774b571
[AArch64] Alter mull shuffle(ext(..)) combine to work on buildvectors
davemgreen Feb 22, 2022
029283c
Encode address offsets of basic blocks relative to the end of the pre…
rlavaee Feb 22, 2022
4745c99
Set std::numeric_limits<>::tinyness_before to true for floating point…
resistor Dec 28, 2021
57a6d92
[instcombine] Add test coverage for a tricky bit of reasoning about u…
preames Feb 22, 2022
2cca2c7
[instcombine] Extend test coverage for a tricky bit of reasoning abou…
preames Feb 23, 2022
8b9f42b
[instcombine] Autogen a test for ease of update
preames Feb 23, 2022
2368f18
[WebAssembly] Fixed AsmPrinter not emitting .functype for intrinsics
aardappel Feb 22, 2022
105ddd0
[NFC] Remove dead code (try 2)
aeubanks Feb 23, 2022
3ef7e6c
[clang] Remove an Address::deprecated() call in CGClass.cpp
aeubanks Feb 23, 2022
3de5322
[sanitizer] Refactor GetNextInstructionPc/GetPreviousInstructionPc
MaskRay Feb 23, 2022
9030d90
[instcombine] Add coverage for consistent use of unescaped malloc case
preames Feb 23, 2022
8b83b8f
[mlir][sparse] refactor sparse compiler pipeline to single place
aartbik Feb 22, 2022
fc0bd3c
[libFuzzer] Refactor GetNextInstructionPc/GetPreviousInstructionPc
MaskRay Feb 23, 2022
939d62c
[AMDGPU] Pre-commit load/store combine tests. NFC.
rampitec Feb 23, 2022
1ec9dd3
[sancov] Refactor getPreviousInstructionPc
MaskRay Feb 23, 2022
ea31442
[NFC] Add a bit more coverage for an upcoming patch
preames Feb 23, 2022
ed69e32
[Docs]Add office hours.
alinas Feb 23, 2022
7fea963
[Docs] Add self to credits
alinas Feb 23, 2022
2042c8e
Merge from '"main"' to '"sycl-web"' (4 commits)
Feb 23, 2022
cde658f
[clang] Remove Address::deprecated() calls in CGVTables.cpp
aeubanks Feb 23, 2022
48253f6
Merge from 'sycl' to 'sycl-web' (2 commits)
Feb 23, 2022
b661470
Revert "Revert "[AArch64][GlobalISel] Optimize conjunctions of compar…
aemerson Feb 23, 2022
a9861d3
[instcombine] Avoid binops for comparison consistency tests
preames Feb 23, 2022
2172b17
Remove redundant word word in AsmParser DIFlag parsing
dwblaikie Feb 23, 2022
55cb84d
[OpenMP] Unrecognized objects should not be considered failure
jhuber6 Feb 23, 2022
6a0b78a
[OpenMP] Remove static allocator in linker wrapper
jhuber6 Feb 23, 2022
36e335e
[clang] Remove Address::deprecated() calls in CodeGenFunction.cpp
aeubanks Feb 23, 2022
1db1110
Merge from '"main"' to '"sycl-web"' (136 commits)
Feb 23, 2022
251640a
[ELF][test] Terminate .debug_info with a null entry to fix warnings
MaskRay Feb 23, 2022
f5153d9
[compiler-rt][builtins] build the macOS compiler-rt built-ins with Ma…
hyp Feb 14, 2022
045f07b
[ProfileData] Remove unused and racy FunctionSamples::Format after D5…
MaskRay Feb 23, 2022
7dd660f
Merge from '"main"' to '"sycl-web"' (156 commits)
Feb 23, 2022
b96fc48
[ELF][test] Fix CU address_size in some gdb-index tests
MaskRay Feb 23, 2022
f415d74
[SampleProfile] Handle the case when the option `MaxNumPromotions` is…
mingmingl-llvm Feb 22, 2022
7abcb7b
[RISCV] Supplement more tests for GREVI aliaes in Zbp extension
Feb 23, 2022
b3d1f07
[flang] Lower real constant
clementval Feb 23, 2022
3497124
[RISCV] Add more test for GORCI aliaes in Zbp extension
Feb 23, 2022
a2fab82
[pseudo] Implement LRTable.
hokein Feb 11, 2022
ef9a659
[gn build] Port a2fab82f33bb
llvmgnsyncbot Feb 23, 2022
7ea103d
[clang][dataflow] Add support for global storage values
sgatev Feb 18, 2022
f85a6a8
[NFC] Add unittest for Decl::isInExportDeclContext
ChuanqiXu9 Feb 23, 2022
c34d898
[ASTMatchers] Expand isInline matcher to VarDecl
njames93 Feb 23, 2022
79353f9
[clang-tidy][NFC] Remove Tristate from CachedGlobList
njames93 Feb 23, 2022
65dc78d
[InstCombine] Remove one-use limitation from X-Y==0 fold
nikic Feb 22, 2022
a10789d
[ARM] Recognize SSAT and USAT from SMIN/SMAX
davemgreen Feb 23, 2022
a5bbc6e
[NFC] Remove unnecessary "#include"s from header files
isanbard Feb 23, 2022
8182dba
[compiler-rt][builtins] Fix CMake builtin target flag
tru Feb 22, 2022
c1b9672
[NFC] Add #include for constants
isanbard Feb 23, 2022
823b32f
[NFC] Add #include for constants
isanbard Feb 23, 2022
eb4c860
Cleanup llvm/DebugInfo/PDB headers
Feb 19, 2022
606320e
[VE][NFC] Move functions to VVP module
Feb 23, 2022
fa0a80e
Revert "Revert "[analyzer] Add failing test case demonstrating buggy …
Feb 23, 2022
ea24948
[Test][AggressiveInstCombine] Add test for `phi` instruction
anton-afanasyev Sep 15, 2021
0fc1141
[mlir][Bazel] Fix wrong dependency for GPUBaseIncGen.
akuegel Feb 23, 2022
25d7b4f
[objcopy][NFC] Rename files to avoid clashing of archive members.
avl-llvm Feb 22, 2022
16a91a1
[flang][driver] Make `flang-new` always generate run-time type info
banach-space Feb 17, 2022
9d91e03
[clang] CIndex.cpp - use cast<> instead of dyn_cast<> to avoid derefe…
RKSimon Feb 23, 2022
7021b5a
[gn build] Port 25d7b4fb446b
llvmgnsyncbot Feb 23, 2022
5a74e6a
[Modules] Add module structure output to -module-file-info.
iains Feb 12, 2022
169e1ab
Revert "[clang][dataflow] Add support for global storage values"
sgatev Feb 23, 2022
152325d
[ArgPromotion] Regenerate test checks for crash.ll – restored ALL_OLD…
vpykhtin Feb 22, 2022
4b5261e
[InstCombine] Add tests for sub of umin intrinsic (NFC)
nikic Feb 23, 2022
e2f627e
[InstCombine] Fold sub of umin to usub.sat
nikic Feb 23, 2022
f84d732
[AggressiveInstCombine] Add `phi` nodes support to `TruncInstCombine`
anton-afanasyev Sep 15, 2021
c5bcfb9
[RISCV] Avoid infinite loop between DAGCombiner::visitMUL and RISCVIS…
asb Feb 23, 2022
e0f1dd0
[C++20][Modules] Rework testcase to use split file [NFC].
iains Feb 22, 2022
d6e0080
[InstCombine] Add tests for add of clamp pattern (NFC)
nikic Feb 23, 2022
6777ec9
[ValueTracking] Support signed intrinsic clamp
nikic Feb 23, 2022
fbe38a7
[NFC][Lexer] Make access to LangOpts more consistent
yurai007 Feb 22, 2022
a848a5c
Revert "Revert "[analyzer] Fix taint propagation by remembering to th…
Feb 23, 2022
7036413
Revert "Revert "[analyzer] Fix taint rule of fgets and setproctitle_i…
Feb 23, 2022
5fb6555
[InstCombine] Remove unused visitUDivOperand() argument (NFC)
nikic Feb 23, 2022
aa9c2d1
[OpenCL] Align subgroup builtin guards
svenvh Feb 23, 2022
5658d86
AArch64: clamp UBFX high-bit to 32-bits
TNorthover Feb 23, 2022
2302c74
Merge from 'sycl' to 'sycl-web'
Feb 23, 2022
8ad6d5e
Revert "[AggressiveInstCombine] Add `phi` nodes support to `TruncInst…
anton-afanasyev Feb 23, 2022
3c840e3
[MIPS] Recognize DT_MIPS_XHASH dynamic table tag
atanasyan Feb 23, 2022
5dd0c39
[Libomptarget][NFC} Fix missing newline in error message
jhuber6 Feb 23, 2022
14536ce
Add myself to the office hours; correct small typo in prose
AaronBallman Feb 23, 2022
40f9081
[LAA] Add missing newline in debug print
Feb 23, 2022
d081077
[lldb] Modernize ThreadLauncher
labath Feb 21, 2022
f4568e1
[lldb] Simplify HostThreadMacOSX
labath Feb 21, 2022
57c6012
Add missing <ctime> include
Feb 23, 2022
2f300d3
[clang][driver][wasm] Fix libstdc++ target-dependent include dir
tbaederr Feb 21, 2022
27d9a58
[clang][modules] Infer framework modules in explicit builds
jansvoboda11 Feb 23, 2022
82951cf
Fix HostProcessWindows for D120321
labath Feb 23, 2022
5ccb058
[InstCombine] Simplify udiv -> lshr folding
nikic Feb 23, 2022
03dff12
Revert "Revert "[clang][dataflow] Add support for global storage valu…
sgatev Feb 23, 2022
8386eb2
[lld-macho][nfc] Move ICF-specific logic into ICF.cpp
int3 Feb 23, 2022
e42ad84
[lld-macho][nfc] Refactor MarkLive
int3 Feb 23, 2022
841355c
Remove unused function; NFC
AaronBallman Feb 23, 2022
fc3b34c
[InstSimplify] remove shift that is redundant with part of funnel shift
rotateright Feb 23, 2022
b1a8dcf
Silence some "not all control paths return a value" warnings; NFC
AaronBallman Feb 23, 2022
03e6efb
[InstCombine] Further simplify udiv -> lshr folding
nikic Feb 23, 2022
42e391e
[ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris
rorth Feb 23, 2022
365be7a
[MC][ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris
rorth Feb 23, 2022
80a6968
[clang][deps] NFC: Update documentation
jansvoboda11 Feb 23, 2022
19017c2
[clang][deps] Return the whole TU command line
jansvoboda11 Feb 23, 2022
eb1c5a9
[PowerPC] Add the Power10 LXVKQ instrution.
stefanp-synopsys Feb 22, 2022
2824a65
[InstCombine] Add tests for udiv->lshr fold with min/max intrinsics (…
nikic Feb 23, 2022
587c7ff
[InstCombine] Support min/max intrinsics in udiv->lshr fold
nikic Feb 23, 2022
e66b1b7
[AMDGPU] Split fp min/max atomics test. NFC.
jayfoad Feb 23, 2022
4b86d55
[MLIR][Presburger] unittests: use an MLIRContext declared in parsePoly
Superty Feb 23, 2022
b1863d8
[Clang][OpenMP] Remove use of getPointerElementType()
nikic Feb 23, 2022
a7db3c6
[mlir][NFC] Use options struct in ExecutionEngine::create
cota Feb 23, 2022
4d37bbc
[Bitcode] Store function type IDs rather than function types
nikic Feb 23, 2022
22d0453
[X86] combineX86ShuffleChainWithExtract - don't both widening inputs …
RKSimon Feb 23, 2022
9f1c6fb
[LAA] Add remarks for unbounded array access
malJaj Feb 2, 2022
2f90668
clang-format.el: Make clang-format work in indirect buffers.
phst Feb 23, 2022
6adf4b0
[SLP] Remove cap on schedule window size
preames Feb 23, 2022
70ff6fb
AttributorAttributes: avoid a crashing on bad alignments
durin42 Feb 11, 2022
7c1ee5e
[Pseudo] Token/TokenStream, PP directive parser.
sam-mccall Feb 7, 2022
e9d2f17
[flang] Lower complex constant
clementval Feb 23, 2022
e7f4ea8
[MLIR][Pass] Have PassRegistryEntry own pass strings
trilorez Feb 22, 2022
307ccf4
[flang][NFC] Clean up ConvertType
clementval Feb 23, 2022
1fd980d
Revert "AttributorAttributes: avoid a crashing on bad alignments"
aeubanks Feb 23, 2022
21d7c3b
[DAG] try to convert multiply to shift via demanded bits
rotateright Feb 23, 2022
dc19c70
[gn build] Port 7c1ee5e95f31
llvmgnsyncbot Feb 23, 2022
87753ce
[X86] combineX86ShufflesRecursively - don't both widening inputs befo…
RKSimon Feb 23, 2022
6eec483
[clang] Remove getPointerElementType() in EmitVTableTypeCheckedLoad()
aeubanks Feb 23, 2022
b3a778f
[llvm-profgen] Support symbol loading for debug fission
wlei-llvm Feb 22, 2022
fc0aa84
[ELF] Check COMMON symbols for PROVIDE and don't redefine COMMON symb…
MaskRay Feb 23, 2022
beff16f
[mlir] Async: update condition for dispatching block-aligned compute …
ezhulenev Feb 17, 2022
68c718c
Revert "[MachineOutliner][AArch64] NFC: Split MBBs into "outlinable r…
Feb 23, 2022
427d9f6
[X86] combineX86ShufflesRecursively - pull out repeated getValueType/…
RKSimon Feb 23, 2022
d0b70a0
[flang] Lower function and subroutine calls
clementval Feb 23, 2022
1b2a1f8
[MLIR][Arith] Canonicalize cmpf(int to fp) to cmpi
wsmoses Feb 16, 2022
6bff092
[TSan][NFC] fixup for comment of Shadow
vitalybuka Feb 23, 2022
280d41d
[MLIR][Presburger] PresburgerSet::subtract: automatically restore sta…
Superty Feb 22, 2022
95f3cc2
AttributorAttributes: avoid a crashing on bad alignments
durin42 Feb 11, 2022
9bd9cbf
[libc++][AIX] Fix trivial_abi return tests for unique_ptr/weak_ptr
Feb 23, 2022
8c85f3a
[SLP] Simplify extendSchedulingRegion
preames Feb 23, 2022
475c433
Revert "[TSan][NFC] fixup for comment of Shadow"
vitalybuka Feb 23, 2022
f19f672
[TSan][NFC] fixup for comment of Shadow
Enna1 Feb 23, 2022
78f7a6f
[PATCH] ASAN: Align declaration with definition of a fn
marxin Feb 23, 2022
a3e9b32
[SLP] Remove SchedulingPriority from ScheduleData [NFC]
preames Feb 23, 2022
e87c32e
[Driver] Add -fno-sanitize-address-globals-dead-stripping
MaskRay Feb 23, 2022
011f653
[mlir] Add sectionMemoryMapper to ExecutionEngineOptions
cota Feb 23, 2022
b3e63ee
[NFC][PowerPC] Fix the check-cpu.ll test case.
stefanp-synopsys Feb 23, 2022
222e861
[SLP] Rearrange fields in ScheduleData for density [NFC]
preames Feb 23, 2022
2a6dbed
[lldb] Fix (unintentional) recursion in CommandObjectRegexCommand
JDevlieghere Feb 23, 2022
302ca27
[pseudo] fix an out-of-bound error in LRTable.
hokein Feb 23, 2022
afdaa86
[DAGCombine] Extend combineCarryDiamond()
chfast Feb 23, 2022
c7d6448
[DAGCombiner][TargetLowering] Pass SDValue by value to isMulAddWithCo…
topperc Feb 23, 2022
3fb4439
[libcxx] [test] Fix time.get.byname get_one for Glibc and Windows
mstorsjo Jan 25, 2022
75812e7
[OpenMP][Offloading] Change N back to 256 in bug49334.cpp
shiltian Feb 23, 2022
a83441e
Revert "[SLP] Simplify extendSchedulingRegion"
preames Feb 23, 2022
9392c0d
Revert "[SLP] Remove cap on schedule window size"
preames Feb 23, 2022
b681799
[instrprof] Rename the profile kind types to be more descriptive.
Feb 17, 2022
2ed1de0
Merge from 'main' to 'sycl-web' (1 commits)
Feb 23, 2022
65a1dfa
[NFC] Add #include for constants
isanbard Feb 23, 2022
1333c57
[NFC] Add #include for constants
isanbard Feb 23, 2022
53c5bd9
[ELF][test] Fix edata-etext.s
MaskRay Feb 23, 2022
9a40f9f
{SLP] Make it clear ScheduleDataMap is keyed by instructions [NFC]
preames Feb 23, 2022
4cb24ef
[clang] Remove Address::deprecated() from CGClass.cpp
aeubanks Feb 23, 2022
632ea69
[sanitizer][sancov] Use pc-1 for s390x
MaskRay Feb 23, 2022
a4541fd
[SLP] Replace a impossible branch condition with an assert [NFC]
preames Feb 23, 2022
2b97b16
[OpenMP] Add option to make offloading mandatory
jhuber6 Feb 22, 2022
ed54296
[SLP] Fastpath instructions not in block being scheduled [nfc]
preames Feb 23, 2022
0c1fd90
[Clang][Docs] Add '-fopenmp-offload-mandatory' to command line reference
jhuber6 Feb 23, 2022
e0dc4ac
[NVPTX] Expose float tys min, max, abs, neg as builtins
jchlanda Feb 22, 2022
be67293
[NVPTX] Add more FMA intriniscs/builtins
jchlanda Feb 22, 2022
69a8350
[NVPTX] Add ex2.approx.f16/f16x2 support
npmiller Feb 22, 2022
cd37594
Fix unused lambda capture warning, NFC
rnk Feb 23, 2022
8f780ba
[HWASan] add test for debug info of allocas that don't need padding.
fmayer Feb 15, 2022
489637e
[libc++] Granularize chrono includes
philnik777 Feb 23, 2022
1d1b089
Fix more unused lambda capture warnings, NFC
rnk Feb 23, 2022
dcc4feb
Use function prototypes when appropriate; NFC
AaronBallman Feb 23, 2022
5e1ae3a
[NFC][hwasan] Clang-format the file
vitalybuka Feb 23, 2022
142cedc
[SampleProf][Inliner] Add an option to turn off inliner in sample-pro…
mingmingl-llvm Feb 22, 2022
c990d56
[HWASan] Use hwasan_memalign for aligned new.
vitalybuka Feb 23, 2022
af26d68
[opt] Pin region viewer passes to legacy PM.
Meinersbur Feb 22, 2022
924032c
[NFC][hwasan] Check _GLIBCXX_RELEASE in test
vitalybuka Feb 23, 2022
1592d88
Add support for floating-point option `ffp-eval-method` and for
zahiraam Oct 19, 2021
119d71c
[OpenMP][NFC] Address warnings and lint messages in CGOpenMPRuntime
jhuber6 Feb 23, 2022
deed246
[libc++] Add empty line in ReleaseNotes.rst
philnik777 Feb 23, 2022
18fa0b1
[CMake] Use CMAKE_SYSROOT to build libs for Win to ARM cross tooolcha…
vvereschaka Feb 17, 2022
948d69f
[FormatVariadic] Mark index as required in docstring
kastiglione Feb 2, 2022
34285bc
Reland "unbreak Modules/cxx20-export-import.cpp with LLVM_APPEND_VC_R…
nico Feb 23, 2022
d7105e7
Teach the AArch64 backend to instruction select the BCAX instruction.
resistor Feb 18, 2022
454c149
[BOLT][NFC] Fix undefined behavior in encodeAnnotationImm
aaupov Feb 23, 2022
0477cac
[asan] Allow -fsanitize-address-globals-dead-stripping with -fno-data…
MaskRay Feb 24, 2022
d7a3073
Simplify/cleanup BasicBlockUtilsTest
MatzeB Feb 17, 2022
6a38336
PGOInstrumentation, GCOVProfiling: Split indirectbr critical edges re…
MatzeB Feb 16, 2022
3e3e79a
[lldb/test] Fix TestProgressReporting.py race issue with the event li…
medismailben Feb 24, 2022
652b39b
[mlir][sparse][linalg] add linalg rewriting specific to sparse tensors
aartbik Feb 24, 2022
7e3606f
[ScalarEvolution] Control flag for nonstrict inequalities in finite l…
mtrofin Feb 24, 2022
47d18be
[ELF] Remove SharedSymbol::getFile. NFC
MaskRay Feb 24, 2022
c8ae8cf
[mlir][sparse][taco] Add support for float32.
bixia1 Feb 22, 2022
b01430a
[ELF] Don't rely on Symbols.h's transitive inclusion of InputFiles.h.…
MaskRay Feb 24, 2022
9d899d8
[HIP] Support `-fgpu-default-stream`
yxsamliu Feb 22, 2022
eae2c8f
Merge from 'sycl' to 'sycl-web'
Feb 24, 2022
a92bdea
Merge from '"main"' to '"sycl-web"' (2 commits)
Feb 25, 2022
076101e
Merge remote-tracking branch 'otcshare_llvm/sycl-web' into llvmspirv_…
vmaksimo Feb 28, 2022
84204f1
fixed discarding of debug info metadata by SPIRVLowerBool pass
aparshin-intel Feb 21, 2022
381bb84
disable spirv-val since it seems that it does work well with existing…
aparshin-intel Feb 21, 2022
2f5e990
LLVM and SPIRV-LLVM-Translator pulldown (WW10)
bb-sycl Mar 1, 2022
27cc930
[SYCL][DOC] Clarify "[[uses_aspects()]]" in design (#5594)
gmlueck Mar 1, 2022
08b14da
[SYCL] Fix host device local accessor alignment (#5554)
npmiller Mar 1, 2022
4bd6d20
[SYCL][DOC] Add extension template (#5663)
gmlueck Mar 1, 2022
b185269
[SYCL][DOC] Deprecate old spec constant extension (#5676)
gmlueck Mar 1, 2022
dfaa070
[SYCL][DOC] Add validation rules to SPIR-V ext (#5687)
gmlueck Mar 1, 2022
1984e74
[SYCL][DOC] Enable SYCL_EXT_ONEAPI_PROPERTIES extension (#5693)
steffenlarsen Mar 1, 2022
0e44f1b
[SYCL][DOC] Update spelling in device global design doc (#5654)
Fznamznon Mar 1, 2022
2ceeba5
[SYCL][DOC] Refactor OCL global variable spec (#5659)
gmlueck Mar 1, 2022
4bd50e7
[SYCL][ESIMD] Add support for lsc mem access APIs (#5512)
sndmitriev Mar 2, 2022
70cd710
Debug auto merge function
DoyleLi Mar 2, 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
  •  
  •  
  •  
7 changes: 5 additions & 2 deletions .github/workflows/issue-release-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,12 @@ on:
types:
- created
- edited
issues:
types:
- opened

env:
COMMENT_BODY: ${{ github.event.comment.body }}
COMMENT_BODY: ${{ github.event.action == 'opened' && github.event.issue.body || github.event.comment.body }}

jobs:
backport-commits:
Expand All @@ -30,7 +33,7 @@ jobs:
if: >-
(github.repository == 'llvm/llvm-project') &&
!startswith(github.event.comment.body, '<!--IGNORE-->') &&
contains(github.event.comment.body, '/cherry-pick')
contains(github.event.action == 'opened' && github.event.issue.body || github.event.comment.body, '/cherry-pick')
steps:
- name: Fetch LLVM sources
uses: actions/checkout@v2
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/issue-subscriber.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,12 @@ jobs:
pip install -r requirements.txt

- name: Update watchers
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
env:
LABEL_NAME: ${{ github.event.label.name }}
run: |
./github-automation.py \
--token ${{ secrets.ISSUE_SUBSCRIBER_TOKEN }} \
--token '${{ secrets.ISSUE_SUBSCRIBER_TOKEN }}' \
issue-subscriber \
--issue-number ${{ github.event.issue.number }} \
--label-name ${{ github.event.label.name }}
--issue-number '${{ github.event.issue.number }}' \
--label-name "$LABEL_NAME"
2 changes: 1 addition & 1 deletion bolt/include/bolt/Core/BinaryContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ class BinaryContext {
std::map<unsigned, DwarfLineTable> DwarfLineTablesCUMap;

public:
static std::unique_ptr<BinaryContext>
static Expected<std::unique_ptr<BinaryContext>>
createBinaryContext(const ObjectFile *File, bool IsPIC,
std::unique_ptr<DWARFContext> DwCtx);

Expand Down
11 changes: 5 additions & 6 deletions bolt/include/bolt/Core/MCPlusBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ class MCPlusBuilder {
AllocatorIdTy MaxAllocatorId = 0;

/// We encode Index and Value into a 64-bit immediate operand value.
static int64_t encodeAnnotationImm(unsigned Index, int64_t Value) {
assert(Index < 256 && "annotation index max value exceeded");
assert((Value == (Value << 8) >> 8) && "annotation value out of range");
static int64_t encodeAnnotationImm(uint8_t Index, int64_t Value) {
if (LLVM_UNLIKELY(Value != extractAnnotationValue(Value)))
report_fatal_error("annotation value out of range");

Value &= 0xff'ffff'ffff'ffff;
Value |= (int64_t)Index << 56;
Expand All @@ -85,14 +85,13 @@ class MCPlusBuilder {
}

/// Extract annotation index from immediate operand value.
static unsigned extractAnnotationIndex(int64_t ImmValue) {
static uint8_t extractAnnotationIndex(int64_t ImmValue) {
return ImmValue >> 56;
}

/// Extract annotation value from immediate operand value.
static int64_t extractAnnotationValue(int64_t ImmValue) {
ImmValue &= 0xff'ffff'ffff'ffff;
return (ImmValue << 8) >> 8;
return SignExtend64<56>(ImmValue & 0xff'ffff'ffff'ffffULL);
}

MCInst *getAnnotationInst(const MCInst &Inst) const {
Expand Down
4 changes: 2 additions & 2 deletions bolt/include/bolt/Passes/ShrinkWrapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -308,8 +308,8 @@ class ShrinkWrapping {
std::vector<MCInst *> BestSavePos;

/// Pass stats
static uint64_t SpillsMovedRegularMode;
static uint64_t SpillsMovedPushPopMode;
static std::atomic_uint64_t SpillsMovedRegularMode;
static std::atomic_uint64_t SpillsMovedPushPopMode;

Optional<unsigned> AnnotationIndex;

Expand Down
5 changes: 0 additions & 5 deletions bolt/include/bolt/Rewrite/DWARFRewriter.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,11 +147,6 @@ class DWARFRewriter {
SimpleBinaryPatcher &DebugInfoPatcher,
Optional<uint64_t> RangesBase = None);

/// Patch DW_AT_(low|high)_pc values for the \p DIE based on \p Range.
void patchLowHigh(DWARFDie DIE, DebugAddressRange Range,
SimpleBinaryPatcher &DebugInfoPatcher,
Optional<uint64_t> DWOId);

/// Helper function for creating and returning per-DWO patchers/writers.
template <class T, class Patcher>
Patcher *getBinaryDWOPatcherHelper(T &BinaryPatchers, uint64_t DwoId) {
Expand Down
10 changes: 9 additions & 1 deletion bolt/include/bolt/Rewrite/MachORewriteInstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,15 @@ class MachORewriteInstance {
void rewriteFile();

public:
MachORewriteInstance(object::MachOObjectFile *InputFile, StringRef ToolPath);
// This constructor has complex initialization that can fail during
// construction. Constructors can’t return errors, so clients must test \p Err
// after the object is constructed. Use createMachORewriteInstance instead.
MachORewriteInstance(object::MachOObjectFile *InputFile, StringRef ToolPath,
Error &Err);

static Expected<std::unique_ptr<MachORewriteInstance>>
createMachORewriteInstance(object::MachOObjectFile *InputFile,
StringRef ToolPath);
~MachORewriteInstance();

Error setProfile(StringRef FileName);
Expand Down
9 changes: 8 additions & 1 deletion bolt/include/bolt/Rewrite/RewriteInstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,15 @@ class ProfileReaderBase;
/// events.
class RewriteInstance {
public:
// This constructor has complex initialization that can fail during
// construction. Constructors can’t return errors, so clients must test \p Err
// after the object is constructed. Use createRewriteInstance instead.
RewriteInstance(llvm::object::ELFObjectFileBase *File, const int Argc,
const char *const *Argv, StringRef ToolPath);
const char *const *Argv, StringRef ToolPath, Error &Err);

static Expected<std::unique_ptr<RewriteInstance>>
createRewriteInstance(llvm::object::ELFObjectFileBase *File, const int Argc,
const char *const *Argv, StringRef ToolPath);
~RewriteInstance();

/// Assign profile from \p Filename to this instance.
Expand Down
74 changes: 36 additions & 38 deletions bolt/lib/Core/BinaryContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/Regex.h"
#include <algorithm>
#include <functional>
Expand Down Expand Up @@ -115,7 +116,7 @@ BinaryContext::~BinaryContext() {

/// Create BinaryContext for a given architecture \p ArchName and
/// triple \p TripleName.
std::unique_ptr<BinaryContext>
Expected<std::unique_ptr<BinaryContext>>
BinaryContext::createBinaryContext(const ObjectFile *File, bool IsPIC,
std::unique_ptr<DWARFContext> DwCtx) {
StringRef ArchName = "";
Expand All @@ -131,8 +132,8 @@ BinaryContext::createBinaryContext(const ObjectFile *File, bool IsPIC,
"+fullfp16,+spe,+fuse-aes,+rcpc";
break;
default:
errs() << "BOLT-ERROR: Unrecognized machine in ELF file.\n";
return nullptr;
return createStringError(std::errc::not_supported,
"BOLT-ERROR: Unrecognized machine in ELF file");
}

auto TheTriple = std::make_unique<Triple>(File->makeTriple());
Expand All @@ -141,39 +142,37 @@ BinaryContext::createBinaryContext(const ObjectFile *File, bool IsPIC,
std::string Error;
const Target *TheTarget =
TargetRegistry::lookupTarget(std::string(ArchName), *TheTriple, Error);
if (!TheTarget) {
errs() << "BOLT-ERROR: " << Error;
return nullptr;
}
if (!TheTarget)
return createStringError(make_error_code(std::errc::not_supported),
Twine("BOLT-ERROR: ", Error));

std::unique_ptr<const MCRegisterInfo> MRI(
TheTarget->createMCRegInfo(TripleName));
if (!MRI) {
errs() << "BOLT-ERROR: no register info for target " << TripleName << "\n";
return nullptr;
}
if (!MRI)
return createStringError(
make_error_code(std::errc::not_supported),
Twine("BOLT-ERROR: no register info for target ", TripleName));

// Set up disassembler.
std::unique_ptr<const MCAsmInfo> AsmInfo(
TheTarget->createMCAsmInfo(*MRI, TripleName, MCTargetOptions()));
if (!AsmInfo) {
errs() << "BOLT-ERROR: no assembly info for target " << TripleName << "\n";
return nullptr;
}
if (!AsmInfo)
return createStringError(
make_error_code(std::errc::not_supported),
Twine("BOLT-ERROR: no assembly info for target ", TripleName));

std::unique_ptr<const MCSubtargetInfo> STI(
TheTarget->createMCSubtargetInfo(TripleName, "", FeaturesStr));
if (!STI) {
errs() << "BOLT-ERROR: no subtarget info for target " << TripleName << "\n";
return nullptr;
}
if (!STI)
return createStringError(
make_error_code(std::errc::not_supported),
Twine("BOLT-ERROR: no subtarget info for target ", TripleName));

std::unique_ptr<const MCInstrInfo> MII(TheTarget->createMCInstrInfo());
if (!MII) {
errs() << "BOLT-ERROR: no instruction info for target " << TripleName
<< "\n";
return nullptr;
}
if (!MII)
return createStringError(
make_error_code(std::errc::not_supported),
Twine("BOLT-ERROR: no instruction info for target ", TripleName));

std::unique_ptr<MCContext> Ctx(
new MCContext(*TheTriple, AsmInfo.get(), MRI.get(), STI.get()));
Expand All @@ -198,28 +197,27 @@ BinaryContext::createBinaryContext(const ObjectFile *File, bool IsPIC,
std::unique_ptr<MCDisassembler> DisAsm(
TheTarget->createMCDisassembler(*STI, *Ctx));

if (!DisAsm) {
errs() << "BOLT-ERROR: no disassembler for target " << TripleName << "\n";
return nullptr;
}
if (!DisAsm)
return createStringError(
make_error_code(std::errc::not_supported),
Twine("BOLT-ERROR: no disassembler info for target ", TripleName));

std::unique_ptr<const MCInstrAnalysis> MIA(
TheTarget->createMCInstrAnalysis(MII.get()));
if (!MIA) {
errs() << "BOLT-ERROR: failed to create instruction analysis for target"
<< TripleName << "\n";
return nullptr;
}
if (!MIA)
return createStringError(
make_error_code(std::errc::not_supported),
Twine("BOLT-ERROR: failed to create instruction analysis for target ",
TripleName));

int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
std::unique_ptr<MCInstPrinter> InstructionPrinter(
TheTarget->createMCInstPrinter(*TheTriple, AsmPrinterVariant, *AsmInfo,
*MII, *MRI));
if (!InstructionPrinter) {
errs() << "BOLT-ERROR: no instruction printer for target " << TripleName
<< '\n';
return nullptr;
}
if (!InstructionPrinter)
return createStringError(
make_error_code(std::errc::not_supported),
Twine("BOLT-ERROR: no instruction printer for target ", TripleName));
InstructionPrinter->setPrintImmHex(true);

std::unique_ptr<MCCodeEmitter> MCE(
Expand Down
4 changes: 2 additions & 2 deletions bolt/lib/Passes/ShrinkWrapping.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -710,8 +710,8 @@ void StackLayoutModifier::initialize() {
IsInitialized = true;
}

uint64_t ShrinkWrapping::SpillsMovedRegularMode = 0;
uint64_t ShrinkWrapping::SpillsMovedPushPopMode = 0;
std::atomic_uint64_t ShrinkWrapping::SpillsMovedRegularMode{0};
std::atomic_uint64_t ShrinkWrapping::SpillsMovedPushPopMode{0};

using BBIterTy = BinaryBasicBlock::iterator;

Expand Down
46 changes: 3 additions & 43 deletions bolt/lib/Rewrite/DWARFRewriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/ThreadPool.h"
#include "llvm/Support/ToolOutputFile.h"
Expand Down Expand Up @@ -863,11 +864,11 @@ namespace {

std::unique_ptr<BinaryContext>
createDwarfOnlyBC(const object::ObjectFile &File) {
return BinaryContext::createBinaryContext(
return cantFail(BinaryContext::createBinaryContext(
&File, false,
DWARFContext::create(File, DWARFContext::ProcessDebugRelocations::Ignore,
nullptr, "", WithColor::defaultErrorHandler,
WithColor::defaultWarningHandler));
WithColor::defaultWarningHandler)));
}

StringMap<KnownSectionsEntry>
Expand Down Expand Up @@ -1363,47 +1364,6 @@ void getRangeAttrData(DWARFDie DIE, Optional<AttrInfo> &LowPCVal,

} // namespace

void DWARFRewriter::patchLowHigh(DWARFDie DIE, DebugAddressRange Range,
SimpleBinaryPatcher &DebugInfoPatcher,
Optional<uint64_t> DWOId) {
Optional<AttrInfo> LowPCVal = None;
Optional<AttrInfo> HighPCVal = None;
getRangeAttrData(DIE, LowPCVal, HighPCVal);
uint64_t LowPCOffset = LowPCVal->Offset;
uint64_t HighPCOffset = HighPCVal->Offset;
auto *TempDebugPatcher = &DebugInfoPatcher;
if (LowPCVal->V.getForm() == dwarf::DW_FORM_GNU_addr_index) {
uint32_t AddressIndex =
AddrWriter->getIndexFromAddress(Range.LowPC, *DWOId);
TempDebugPatcher = getBinaryDWODebugInfoPatcher(*DWOId);
TempDebugPatcher->addUDataPatch(LowPCOffset, AddressIndex, LowPCVal->Size);
// 2.17.2
// If the value of the DW_AT_high_pc is of class address, it is the
// relocated address of the first location past the last instruction
// associated with the entity; if it is of class constant, the value is
// an unsigned integer offset which when added to the low PC gives the
// address of the first location past the last instruction associated
// with the entity.
if (!HighPCVal->V.isFormClass(DWARFFormValue::FC_Constant)) {
AddressIndex = AddrWriter->getIndexFromAddress(Range.HighPC, *DWOId);
TempDebugPatcher->addUDataPatch(HighPCOffset, AddressIndex,
HighPCVal->Size);
}
} else {
TempDebugPatcher->addLE64Patch(LowPCOffset, Range.LowPC);
}

uint64_t HighPC = Range.HighPC;
// The DW_FORM_data* is delta between high and low pc
if (HighPCVal->V.getForm() != dwarf::Form::DW_FORM_addr)
HighPC -= Range.LowPC;

if (isHighPcFormEightBytes(HighPCVal->V.getForm()))
TempDebugPatcher->addLE64Patch(HighPCOffset, HighPC);
else
TempDebugPatcher->addLE32Patch(HighPCOffset, HighPC);
}

void DWARFRewriter::convertToRangesPatchAbbrev(
const DWARFUnit &Unit, const DWARFAbbreviationDeclaration *Abbrev,
DebugAbbrevWriter &AbbrevWriter, Optional<uint64_t> RangesBase) {
Expand Down
26 changes: 22 additions & 4 deletions bolt/lib/Rewrite/MachORewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include "llvm/Support/Errc.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/ToolOutputFile.h"
#include <memory>

namespace opts {

Expand Down Expand Up @@ -82,11 +83,28 @@ MCPlusBuilder *createMCPlusBuilder(const Triple::ArchType Arch,

#define DEBUG_TYPE "bolt"

Expected<std::unique_ptr<MachORewriteInstance>>
MachORewriteInstance::createMachORewriteInstance(
object::MachOObjectFile *InputFile, StringRef ToolPath) {
Error Err = Error::success();
auto MachORI =
std::make_unique<MachORewriteInstance>(InputFile, ToolPath, Err);
if (Err)
return std::move(Err);
return MachORI;
}

MachORewriteInstance::MachORewriteInstance(object::MachOObjectFile *InputFile,
StringRef ToolPath)
: InputFile(InputFile), ToolPath(ToolPath),
BC(BinaryContext::createBinaryContext(InputFile, /* IsPIC */ true,
DWARFContext::create(*InputFile))) {
StringRef ToolPath, Error &Err)
: InputFile(InputFile), ToolPath(ToolPath) {
ErrorAsOutParameter EAO(&Err);
auto BCOrErr = BinaryContext::createBinaryContext(
InputFile, /* IsPIC */ true, DWARFContext::create(*InputFile));
if (Error E = BCOrErr.takeError()) {
Err = std::move(E);
return;
}
BC = std::move(BCOrErr.get());
BC->initializeTarget(std::unique_ptr<MCPlusBuilder>(createMCPlusBuilder(
BC->TheTriple->getArch(), BC->MIA.get(), BC->MII.get(), BC->MRI.get())));
if (opts::Instrument)
Expand Down
Loading