Skip to content

LLVM and SPIRV-LLVM-Translator pulldown (WW45) #7259

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 794 commits into from
Nov 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
794 commits
Select commit Hold shift + click to select a range
1258747
[clangd] Fix a semantic-highlighting crash.
hokein Oct 31, 2022
da5ded4
[clangd] Populate ranges and symbol origin for paramname completions
kadircet Oct 28, 2022
72e9447
[MLIR][OpenMP] Allow the single operation to have a region
kiranchandramohan Oct 31, 2022
325a308
[AArch64] Adjust operand sequence for Add+Sub to combine more inline …
bcl5980 Oct 31, 2022
681888e
[AArch64-SVE]: Force generating code compatible to streaming mode.
hassnaaHamdi Oct 24, 2022
da4b929
[clang][Interp] Reorder field destruction to avoid use after dtor
d0k Oct 31, 2022
0fe9453
[AArch64][SME] Make all SME intrinsics use 32bit immediates.
sdesmalen-arm Oct 28, 2022
a784de7
[flang] Add -ffp-contract option processing
tblah Oct 31, 2022
66b8308
Add explicit cast to fix MSVC error: "'return': cannot convert from '…
RKSimon Oct 31, 2022
d0bf48c
[lldb][FormatEntity][NFC] Move function argument parsing code into se…
Michael137 Oct 26, 2022
76f34ed
[lldb][CPlusPlus] Introduce CPlusPlusLanguage::MethodName::GetReturnType
Michael137 Oct 27, 2022
031096d
[lldb][CPlusPlus] Implement CPlusPlusLanguage::GetFunctionDisplayName
Michael137 Oct 27, 2022
b172c7e
[X86] combineConcatVectorOps - fold concat(GF2P8AFFINEQB(x,y,c),GF2P8…
RKSimon Oct 31, 2022
5d67b05
[AArch64] Include SME2 in +all
davemgreen Oct 31, 2022
9a96f42
[InstCombine] add tests for mul with shl; NFC
rotateright Oct 31, 2022
bc886e9
[InstCombine] fold mul with decremented "shl -1" factor
rotateright Oct 31, 2022
22914a8
[NFC] Use isa<...> to replace isa<>||isa<> in clang/Serialization
ChuanqiXu9 Oct 31, 2022
9265b7f
NFC: restructure code for CreateControlFlowHub()
bcahoon Oct 9, 2022
4b48c39
[AArch64][SVE2] Add the SVE2.1 shift-and-narrow instructions
david-arm Oct 19, 2022
e3ec9dd
[clangd] Run semantic highligting in clangd check.
hokein Oct 31, 2022
079b18a
[flang][NFC] Deallocation of polymorphoc entities are done with the r…
clementval Oct 31, 2022
417850f
[ObjCARC] Regenerate test checks (NFC)
nikic Oct 31, 2022
6495932
[llvm] [cmake] Set EXCLUDE_FROM_ALL on gtest and TestingSupport
mgorny Oct 30, 2022
f59205a
[BasicBlockUtils] Add a new way for CreateControlFlowHub()
bcahoon Oct 9, 2022
6268a67
[LLDB][AArch64] Add SME2 to disassembler test
DavidSpickett Oct 31, 2022
ad1fad1
Revert "[llvm] [cmake] Set EXCLUDE_FROM_ALL on gtest and TestingSupport"
mgorny Oct 31, 2022
9ab0827
[include-cleaner] Add a data-structure to capture IWYU pragmas.
hokein Oct 18, 2022
e44a3c3
[mlir][doc] Update op optional-group asm format doc
rkayaith Oct 28, 2022
9dd413a
[lldb][Test] Fix TestFrameFormatNameWithArgs.test on Linux
Michael137 Oct 31, 2022
af91b19
[flang][NFC] move constant lowering into its own unit
jeanPerier Oct 31, 2022
b923c15
[libomptarget] Fix a race condition in checkDeviceAndCtors
lechenyu Oct 31, 2022
67f8521
[OpenMP] [OMPIRBuilder] Create a new datatype to hold the unique targ…
jsjodin Oct 28, 2022
d45be88
[mlir][sparse] Implement the rewrite for sparse_tensor.push_back a va…
bixia1 Oct 28, 2022
6ca33cb
[Support] Do not run test on AIX
spavloff Oct 31, 2022
2406ba1
[flang] Fix code generation for polymorphic deallocation
clementval Oct 31, 2022
5af9e64
[JITLink][AArch46] Update aarch64 pointer jump stub sequence, add uti…
lhames Oct 31, 2022
aee2a35
[X86] Add AVX-NE-CONVERT instructions.
FreddyLeaf Oct 31, 2022
eda3c93
[LoopFuse] Ensure loops are in loop simplified form under new PM
Narutoworld Oct 31, 2022
cf4d409
[gn build] Port aee2a35ac4ab
llvmgnsyncbot Oct 31, 2022
2e7636c
[AAPointerInfo] check for Unknown offsets in callee
ssahasra Oct 31, 2022
99f9bd4
[SLP]Fix a crash in the analysis of the compatible cmp operands.
alexey-bataev Oct 31, 2022
5fd03c8
[libc] Implement getopt
abrachet Oct 31, 2022
2492c52
[clang] Improve error recovery for pack expansion of expressions
mizvekov Oct 28, 2022
edf1a2e
[clang] Fix handling of unexpanded packs in template argument express…
mizvekov Oct 28, 2022
5f820c0
[clang] ASTImporter: Fix importing of va_list types and declarations
mizvekov Oct 29, 2022
ab11408
[clang] Instantiate NTTPs and template default arguments with sugar
mizvekov Oct 23, 2022
279fe62
[clang] Instantiate alias templates with sugar
mizvekov Oct 23, 2022
cc2e8e5
[flang] Add atomic_and to list of intrinsics
ktras Oct 28, 2022
06f640d
[X86] Enable EVEX GFNI instructions without avx512bw.
topperc Oct 31, 2022
f94c267
[OpenMP] [OMPT] [2/8] Implemented a connector for communication of OM…
dhruvachak Jun 17, 2022
b22873b
[flang] Always diagnose incompatible function results when associatin…
klausler Oct 12, 2022
6fa0e3d
[X86][Driver] Remove stale FIXME. NFC
topperc Oct 31, 2022
f2ea446
[utils] Remove ancient scripts using llvm-config --src-root
MaskRay Oct 31, 2022
cf6a3dc
Revert "[lit] Define keyword used by MCJIT test"
pogo59 Oct 31, 2022
295500d
[lit] Remove undefined keyword from an MCJIT test
pogo59 Oct 31, 2022
93798fb
Address post commit style comment from 087bb0f
preames Oct 31, 2022
d9232e3
[flang] Be more precise about CHARACTER known length discrepancies
klausler Oct 13, 2022
ee1f132
Revert "[clang] ASTImporter: Fix importing of va_list types and decla…
mizvekov Oct 31, 2022
144e38f
[test] Refresh an autogened test to pickup naming change
preames Oct 31, 2022
91effec
[mlir][scf] Add scf-to-cf lowering for `scf.index_switch`
Oct 27, 2022
573fc61
[flang] Fix pointer definition semantic checking via refactoring
klausler Oct 17, 2022
3f532e0
[test] Add coverage for sign bits and known non-zero for scalable vec…
preames Oct 31, 2022
e7aa612
Merge from 'main' to 'sycl-web' (149 commits)
preethi-intel Oct 31, 2022
a7265f9
[InstCombine] add tests for branch on logical and/or; NFC
rotateright Oct 31, 2022
115d2f6
[InstCombine] canonicalize branch with logical-and-not condition
rotateright Oct 31, 2022
7af01fe
[lit] Remove undefined keyword from a Driver test
pogo59 Oct 31, 2022
01859da
[AliasAnalysis] Introduce getModRefInfoMask() as a generalization of …
pcwalton Oct 24, 2022
6288f70
[lit] Fix typo in REQUIRES clause
pogo59 Oct 31, 2022
a819f6c
[InstCombine] Allow simplify demanded transformations on scalable vec…
preames Oct 31, 2022
1391843
[Hexagon] Add builtins and intrinsics for V6_v[add|sub]carryo
Oct 31, 2022
a3a9fff
[InstCombine] Precommit test for D136582; NFC
bcl5980 Oct 31, 2022
d4c8a0e
[wasm-ld] Allow importing/exporting the output module's memory with a…
sunfishcode Oct 4, 2022
179978d
[mlir][arith][spirv] Hard fail in `-convert-arith-to-spirv`
kuhar Oct 31, 2022
ad8f22c
[flang] Rework line of code to dodge clang 16 warning
klausler Oct 31, 2022
97b4cc8
[libc][math] Add place-holder implementation for asin to unblock demo…
lntue Oct 31, 2022
45233cc
[libc][math] Add place-holder implementation for pow function.
lntue Oct 31, 2022
e3ad2ca
[Hexagon] Add LLVM codegen testcases for V6_[add|sub]carryo intrinsics
Oct 31, 2022
aa887ff
[InstCombine] add test for branch on logical-and; NFC
rotateright Oct 31, 2022
1f8ac37
[InstCombine] adjust branch on logical-and fold
rotateright Oct 31, 2022
84ea6b6
[lldb] Add diagnostics
JDevlieghere Oct 28, 2022
0d01300
[lldb] Add a "diagnostics dump" command
JDevlieghere Oct 31, 2022
8aed0ce
[lldb] Emit diagnostic events in the diagnostic dump
JDevlieghere Oct 31, 2022
a2752e3
[gn build] Port 0d01300aacf6
llvmgnsyncbot Oct 31, 2022
70fdabf
[gn build] Port 84ea6b6f78df
llvmgnsyncbot Oct 31, 2022
cc2cf8b
[libc++] Add test for checking progress on P0533R9
Izaron Oct 22, 2022
2a827e4
[RISCV] Fix crash a vector add has a 4x sext and zext operand.
topperc Oct 31, 2022
3275578
[JumpThreading] Put a limit on the PHI nodes when duplicating a BB.
UsmanNadeem Oct 31, 2022
8c2540e
[Bazel] Add llvm:Support to Bazel deps of SPIRVCommonConversion
anlunx Oct 31, 2022
f4ca5da
[libc++][PMR] Add attributes
philnik777 Oct 18, 2022
35d0e27
[libc++][PMR] Mark completed papers and issues as such
philnik777 Oct 18, 2022
57215ed
[libc++][PMR] Move the pmr::memory_resource destructor into the dylib
philnik777 Oct 18, 2022
28e399f
[libc++][PMR] Deprecate the implementation in std::experimental
philnik777 Oct 19, 2022
f4ac737
[gn build] Port 627465cf9fa7
llvmgnsyncbot Oct 31, 2022
2390bb2
[NFC] use has_value instead of hasValue
fmayer Oct 31, 2022
748922b
[SPIRV] support the enqueue_kernel builtin function
iliya-diyachkov Oct 29, 2022
627465c
[libc++] Move preferred_name declarations into the forward declaring …
philnik777 Oct 12, 2022
e1de7ac
Revert "[InstCombine] fold mul with decremented "shl -1" factor"
fmayer Nov 1, 2022
95176b8
AArch64: Register null MCTargetStreamer
arsenm Oct 28, 2022
ea9dc0e
X86: Implement null target streamer
arsenm Oct 28, 2022
a74fe4a
NVPTX: Register null target streamer
arsenm Oct 29, 2022
fc57620
Hexagon: Add missing C++ mode comment
arsenm Oct 29, 2022
4a17964
Hexagon: Register null TargetStreamer
arsenm Oct 29, 2022
07f1217
AtomicExpand: Don't create unused instructions for some atomicrmw
arsenm Sep 29, 2022
4cf5e22
llvm-reduce: Report file opening errors
arsenm Oct 24, 2022
6775e13
Fix missing C++ mode comment
arsenm Oct 29, 2022
37acf9b
[compiler-rt] Switch from llvm-config to find_package(LLVM)
mgorny Oct 29, 2022
3c436ab
llvm-reduce: Support emitting bitcode for final result
arsenm Oct 26, 2022
4e21bc0
llvm-reduce: Drop guessing output format based on file extension
arsenm Oct 29, 2022
412c4a8
llvm-reduce: Write bitcode temporary files for bitcode inputs
arsenm Oct 29, 2022
b756096
[AAPointerInfo] refactor how offsets and Access objects are tracked
ssahasra Nov 1, 2022
a05810e
Revert "[compiler-rt] Switch from llvm-config to find_package(LLVM)"
mgorny Nov 1, 2022
87a2086
[SLP] Extend reordering data of tree entry to support PHI nodes
skc7 Oct 26, 2022
ddc7c2d
[IR][Instruction] Annotate more methods with LLVM_READONLY
alexander-shaposhnikov Nov 1, 2022
3e03873
[lldb][Test] Fix TestFrameFormatNameWithArgs.test on Windows/Linux
Michael137 Nov 1, 2022
5e0d291
[MLIR] Fix bug in the method constructing semi affine expression from…
arnab-polymage Oct 31, 2022
7b4b150
[lit] Add pyproject.toml and fix build w/ modern setuptools backend
mgorny Oct 28, 2022
b60a9cc
AtomicExpand: Use InstSimplifyFolder
arsenm Sep 20, 2022
11d844f
AMDGPU/GlobalISel: Add missing run line for gfx7 packed operations
arsenm Oct 29, 2022
71e4e35
[VP][RISCV] Add vp.rint and RISC-V support.
Oct 24, 2022
bcedeef
AMDGPU: Add testcase from issue 58639
arsenm Nov 1, 2022
6aa672f
[IR] Take operand bundles into account for call argument readonly/wri…
nikic Oct 27, 2022
e9c3461
[LLDB][LoongArch] Add LoongArch ArchSpec and subtype detection
seehearfeel Nov 1, 2022
f97d3ba
[JITLink] Revert template typename change after 2a3b257a935a (NFC)
weliveindetail Nov 1, 2022
3eafca5
[AArch64][SVE2] Add the SVE2.1 contiguous load to multiple consecutiv…
david-arm Oct 19, 2022
2d7eb1b
[AArch64][SVE2] Add the SVE2.1 contiguous stores to multiple consecut…
david-arm Oct 20, 2022
a8085ff
[GlobalISel] Precommit test for D136937
asi-sc Oct 31, 2022
6a74810
[AMDGPU] Fix RP tracker's live registers after processing a memory cl…
vpykhtin Oct 31, 2022
92ec614
[GlobalISel] Compute debug location when merging stores more accurately
asi-sc Oct 28, 2022
90ec51a
[X86] combineConcatVectorOps - fold 512-bit concat(GF2P8AFFINEQB(x,y,…
RKSimon Nov 1, 2022
6e6704b
[compiler-rt][builtins] Support builtins for LoongArch
Nov 1, 2022
5b27578
[builtins][LoongArch] Port __clear_cache to LoongArch Linux
Nov 1, 2022
867ff7c
[asan][test] Fix build errors in loongarch64
Nov 1, 2022
cb84df2
[sanitizer] Fix build error with current LoongArch Clang
Nov 1, 2022
cfeab50
[LoongArch] Remove useless empty pattern fields in some Pseudo instru…
wangleiat Nov 1, 2022
7fd2afa
[AArch64]SME2 Outer Product and Accumulate instructions
CarolineConcatto Oct 27, 2022
5f7a8cf
[AArch64][SVE2] Add the SVE2.1 cntp instruction
david-arm Oct 25, 2022
087e721
[InstCombine] add test for mul with shl; NFC
rotateright Nov 1, 2022
c68c19f
[gn build] port 6e6704b0dc2c
nico Nov 1, 2022
d421080
[ConstraintElimination] Add tests for nested GEPs with multiple indices.
fhahn Nov 1, 2022
bfd1395
[AArch64][SVE2] Add the SVE2.1 while predicate-as-counter instructions
david-arm Oct 26, 2022
27f6091
[ConstraintElimination] Fix nested GEP check.
fhahn Nov 1, 2022
0933b8c
Update a stale comment; NFC
AaronBallman Nov 1, 2022
d59ce7d
[ARM] Specify Triple in DebugInfo Tests
lenary Nov 1, 2022
b5caa68
[ARM] Tests for various NEON vector compares. NFC
davemgreen Nov 1, 2022
4299b28
[InstCombine] add helper function for select-of-bools folds; NFC
rotateright Nov 1, 2022
2f047b5
[clang][Sema] Fix a clang crash with btf_type_tag
yonghong-song Oct 26, 2022
4514324
[AA] Add missing const qualifier (NFC)
nikic Nov 1, 2022
5140646
[X86] Fix broadcastm intrinsics comment
RKSimon Nov 1, 2022
b270fbe
[mlir][gpu] Relax MMA load/store to allow vector memref
antiagainst Nov 1, 2022
4a8d1da
Precommit test cases for D137108 (Support for AArch64ISD::MOVI in com…
Nov 1, 2022
b7449e7
[Hexagon] Use HVX predicates when mapping HVX intrinsics in isel
Nov 1, 2022
6de41e6
[ValueLattice] Fix getCompare() for undef values
nikic Nov 1, 2022
6c89956
Add formatting support for VSCode logpoints message
Oct 25, 2022
b124295
Implement support for AArch64ISD::MOVI in computeKnownBits
Oct 31, 2022
88e557c
Revert "[OpenMP] [OMPT] [2/8] Implemented a connector for communicati…
dhruvachak Nov 1, 2022
64de3cd
[SCCP] Regenerate test checks (NFC)
nikic Nov 1, 2022
094d129
Revert "[ValueLattice] Fix getCompare() for undef values"
nikic Nov 1, 2022
d4c6131
[PatternMatch] add unittests for logical-and/or; NFC
rotateright Nov 1, 2022
25243d7
[mlir][OpenMP] Add aligned clause definition to simd construct
DominikAdamski Oct 20, 2022
0991da3
[SCCP] Convert tests to opaque pointers (NFC)
nikic Nov 1, 2022
a715b1b
[lldb] Don't crash when printing static enum members with bool as und…
aeubanks Oct 30, 2022
2e999b7
Allow scalable vectors in ComputeNumSignBits and isKnownNonNull
preames Nov 1, 2022
9395b98
[RISCV][docs] Add some wording around vendor extensions
preames Nov 1, 2022
c97035c
[mlir][math][spirv] Add `math.roundeven` lowering to SPIR-V
kuhar Nov 1, 2022
d700988
[flang] Improve warning message
klausler Oct 12, 2022
0837bc1
[AArch64] SME2 remove comma from the regression tests
CarolineConcatto Nov 1, 2022
e83e289
[SCEVExpander] Forget SCEV when replacing congruent phi.
fhahn Nov 1, 2022
3bb12d3
XCore: Register null MCTargetStreamer
arsenm Oct 29, 2022
5baa4b8
SystemZ: Register null target streamer
arsenm Oct 29, 2022
10db57b
[mlir][sparse] replace magic constant with symbol
aartbik Nov 1, 2022
37a25b4
[asan] Add missing __asan_set_shadow_0x() calls.
Nov 1, 2022
d225ff3
[X86] Add SchedWriteVecExtend scheduler per-width wrapper
RKSimon Nov 1, 2022
00022c5
[clang][Lex] Header map search case insensitivity
troyj-gh Nov 1, 2022
ab4c22e
[Concepts] Improve diagnostics on a missing 'auto' keyword.
Nov 1, 2022
72ba248
[PatternMatch] don't match a scalar select of bool vectors as a logic…
rotateright Nov 1, 2022
2cee266
[Concepts] Correctly handle failure when checking concepts recursively
Oct 31, 2022
45f81e9
[libc++] Validates valid weekday indexed range.
mordante Oct 29, 2022
84cdfbc
[libc++][format] Fixes default string alignment.
mordante Oct 29, 2022
883b749
[libc++][doc] Updates implementation status.
mordante Oct 29, 2022
ddcb2d1
[libc++] Improves modular build.
mordante Oct 25, 2022
8c49b01
[GlobalOpt] Don't remove inalloca from varargs functions
aeubanks Nov 1, 2022
29a500b
[CodeView][clang] Add flag to disable emitting command line into Code…
aeubanks Oct 21, 2022
9472a81
Address post commit review feedback from D137046
preames Nov 1, 2022
880b37f
[flang] Handle pointer assignment with polymorphic entities
clementval Nov 1, 2022
29661fe
[InstCombine] add tests for logical-and / logical-or folds; NFC
rotateright Nov 1, 2022
ec0b406
[InstCombine] use logical-or matcher to avoid crash
rotateright Nov 1, 2022
75a8cdb
[Sanitizers] Modified __aarch64__ to use the 64 bit version of the al…
kstoimenov Oct 31, 2022
4f0a120
[lit][REQUIRES] Fix some tests with incorrect REQUIRES clauses
pogo59 Oct 24, 2022
cb41eb3
[flang] Add atomic_or to list of intrinsics
ktras Oct 31, 2022
0e9b8f4
Fix release note indentation; NFC
AaronBallman Nov 1, 2022
9c9afbb
[lldb] Document QSetDetachOnError packet
felipepiovezan Oct 28, 2022
9a4aa37
Patch up attributes on a newly enabled test
pogo59 Nov 1, 2022
d4c4e49
[mlir][Linalg] Drop usage of tileWithLinalgTilingOptions in the struc…
nicolasvasilache Jul 14, 2022
cc7b03b
Add tests which need right Insert Point for merged load
bipmis Nov 1, 2022
d71a8ad
[llvm-c] Harmonize usage of unwrap (NFC)
aaronpuchert Nov 1, 2022
d94ee70
[mlir][TOSA]Add optional attributes to TOSA custom op
eric-k256 Nov 1, 2022
f71d32a
Honor LLVM_LIBDIR_SUFFIX
serge-sans-paille Oct 30, 2022
eb87700
[mlir][sparse] Add rewriting rule for the convert operator.
bixia1 Oct 31, 2022
3b82b4f
[libc] Add x86_64 implementation of setjmp and longjmp.
Nov 1, 2022
974cf71
[AArch64][GlobalISel] Add a simple cross-regclass copy optimization p…
aemerson Oct 25, 2022
3756227
[libc] Skip setjmp tests under sanitizers.
Nov 1, 2022
f357a41
[libc][Obvious] Fix a typo in a CMake file.
Nov 1, 2022
cbdb81e
Fix DenseMap with APInt keys
Weverything Oct 4, 2022
c566777
[llvm-profgen] Fix a typo in collectProfiledFunctions
htyu Nov 1, 2022
6dda497
[clang][modules] NFC: Remove unused lambda argument
jansvoboda11 Nov 1, 2022
3e724e5
[mlir][sparse] Fix windows build.
bixia1 Nov 1, 2022
e02110e
Revert "[Sanitizers] Modified __aarch64__ to use the 64 bit version o…
vitalybuka Nov 2, 2022
da137e1
LangRef: Attempt to formulate some rules for addrspacecast
arsenm Jun 18, 2019
fdbc55a
[clang][modules] NFCI: Unify FileID writing/reading
jansvoboda11 Nov 2, 2022
f61c135
[clang][modules] NFCI: Pragma diagnostic mappings: write/read FileID …
jansvoboda11 Nov 2, 2022
0bfc97e
[clang][modules] NFCI: Scaffolding for serialization of adjusted Sour…
jansvoboda11 Nov 2, 2022
9ae6e6a
[clang] NFC: Extract lower-level SourceManager functions
jansvoboda11 Nov 2, 2022
aa2b05f
[libc++] Use stack buffers for uninitialized storage in tests.
var-const Nov 2, 2022
a13122c
[clang][modules] NFCI: Avoid unnecessary serialization logic for non-…
jansvoboda11 Nov 2, 2022
6924a49
[clang][modules] Account for non-affecting inputs in `ASTWriter`
jansvoboda11 Nov 2, 2022
dc452a7
Revert "[RISCV] Enable the LocalStackSlotAllocation pass support"
topperc Nov 2, 2022
d0f9ddd
[OpenMP] Utilize the "non-uniform-workgroup" to simplify DeviceRTL
jdoerfert Oct 7, 2022
f89deef
[Attributor][NFC] Hide verbose output behind `attributor-verbose`
jdoerfert Oct 7, 2022
7fdf356
[Attributor][NFCI] Move MemIntrinsic handling into the initializer
jdoerfert Oct 7, 2022
91f62f0
[mlir][vector] Fix distribution of scf.for with value coming from above
ThomasRaoux Nov 1, 2022
b4e1466
[AArch64] Improve codegen for shifted mask op
bcl5980 Nov 2, 2022
f33173a
[clang][modules][deps] System module maps might not be affecting
jansvoboda11 Nov 2, 2022
9d56d9a
[llvm-debuginfo-analyzer] Fix memory leak reported by sanitizers.
CarlosAlbertoEnciso Nov 1, 2022
23c6653
[compiler-rt] Switch from llvm-config to find_package(LLVM)
mgorny Oct 29, 2022
9fbe16e
[CSKY] Fix .bss directive compling error created by --save-temps
zixuan-wu Oct 28, 2022
76fc5fe
[CSKY] Fix the adjustFixupValue of fixup_csky_pcrel_uimm7_scale4
zixuan-wu Oct 31, 2022
87d98a7
[hwasan] Remove no-op setDSOLocal. NFC
MaskRay Nov 2, 2022
15ae08c
[libc] Add definitions of a few missing macros and types.
Nov 1, 2022
3952377
[flang] lower intrinsic constants to HLFIR
jeanPerier Nov 2, 2022
adee6c8
[LoongArch] Inline one-time-used variable and format codes. NFC.
gonglingqin Nov 1, 2022
3ee3d3b
[X86] Use default attributes for more intrinsics
nikic Nov 1, 2022
34b2b88
[asan][test] Convert some tests to use opaque pointers
MaskRay Nov 2, 2022
c49db59
[CLANG] XFAIL c-strings.c & volatile-1.c AArch64/Windows
omjavaid Nov 2, 2022
870fbf8
[FLANG] Fix MSVC + clang-cl build
omjavaid Oct 31, 2022
be369ea
[AArch64][SVE2] Add the SVE2.1 while & pext predicate pair instructions
david-arm Oct 26, 2022
3635195
[libc] Improve testing of mem functions
gchatelet Oct 27, 2022
9a9b904
[AArch64][SVE2] Add the SVE2.1 ld1q gather & st1q scatter instructions
david-arm Nov 1, 2022
44bb409
[ConstraintElimination] Do not crash on vector GEP in decomposeGEP
bjope Nov 1, 2022
17c9d4d
Revert "[FLANG] Fix MSVC + clang-cl build"
omjavaid Nov 2, 2022
67437dd
[reland][libc] Switch to new implementation of mem* functions
gchatelet Nov 2, 2022
4b42836
[mlir][transform] Add PrintOp to transform dialect
matthias-springer Nov 2, 2022
41dba9e
[AA] Remove some overloads (NFC)
nikic Nov 1, 2022
e8a0a95
Merge remote-tracking branch 'sycl-web' into llvmspirv_pulldown45
Fznamznon Nov 2, 2022
5a17132
Merge commit '41dba9e6a3096d54de6005ef4e648af1ff02b90c' into llvmspir…
Fznamznon Nov 2, 2022
f277bee
Move tests around (#1682)
MrSidims Oct 26, 2022
aaf82ea
Translate constant global variable references correctly in opaque poi…
jcranmer-intel Oct 26, 2022
c1f0b04
Restore GEP instruction translation for vector of pointers (#1669)
MrSidims Oct 28, 2022
0edf1b7
Add -opaque-pointers option
Fznamznon Nov 2, 2022
39019f8
Remove usage of `-fno-legacy-pass-manager` option
Fznamznon Nov 2, 2022
5f649e2
[TO REVERT] Dummy change to start post commit job
Fznamznon Nov 3, 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.
1 change: 1 addition & 0 deletions .github/workflows/sycl_post_commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:
- .github/workflows/sycl_windows_build_and_test.yml
- .github/workflows/sycl_macos_build_and_test.yml


jobs:
# This job generates matrix of tests for LLVM Test Suite
test_matrix:
Expand Down
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)
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@"
25 changes: 22 additions & 3 deletions bolt/lib/Rewrite/RewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -599,10 +599,19 @@ void RewriteInstance::parsePseudoProbe() {
errs() << "BOLT-WARNING: fail in building GUID2FuncDescMap\n";
return;
}

MCPseudoProbeDecoder::Uint64Set GuidFilter;
MCPseudoProbeDecoder::Uint64Map FuncStartAddrs;
for (const BinaryFunction *F : BC->getAllBinaryFunctions()) {
for (const MCSymbol *Sym : F->getSymbols()) {
FuncStartAddrs[Function::getGUID(NameResolver::restore(Sym->getName()))] =
F->getAddress();
}
}
Contents = PseudoProbeSection->getContents();
if (!BC->ProbeDecoder.buildAddress2ProbeMap(
reinterpret_cast<const uint8_t *>(Contents.data()),
Contents.size())) {
reinterpret_cast<const uint8_t *>(Contents.data()), Contents.size(),
GuidFilter, FuncStartAddrs)) {
BC->ProbeDecoder.getAddress2ProbesMap().clear();
errs() << "BOLT-WARNING: fail in building Address2ProbeMap\n";
return;
Expand Down Expand Up @@ -3426,6 +3435,8 @@ void RewriteInstance::encodePseudoProbes() {
// Address of the first probe is absolute.
// Other probes' address are represented by delta
auto EmitDecodedPseudoProbe = [&](MCDecodedPseudoProbe *&CurProbe) {
assert(!isSentinelProbe(CurProbe->getAttributes()) &&
"Sentinel probes should not be emitted");
EmitULEB128IntValue(CurProbe->getIndex());
uint8_t PackedType = CurProbe->getType() | (CurProbe->getAttributes() << 4);
uint8_t Flag =
Expand Down Expand Up @@ -3530,9 +3541,17 @@ void RewriteInstance::encodePseudoProbes() {
reinterpret_cast<const uint8_t *>(DescContents.data()),
DescContents.size());
StringRef ProbeContents = PseudoProbeSection->getOutputContents();
MCPseudoProbeDecoder::Uint64Set GuidFilter;
MCPseudoProbeDecoder::Uint64Map FuncStartAddrs;
for (const BinaryFunction *F : BC->getAllBinaryFunctions()) {
const uint64_t Addr =
F->isEmitted() ? F->getOutputAddress() : F->getAddress();
FuncStartAddrs[Function::getGUID(
NameResolver::restore(F->getOneName()))] = Addr;
}
DummyDecoder.buildAddress2ProbeMap(
reinterpret_cast<const uint8_t *>(ProbeContents.data()),
ProbeContents.size());
ProbeContents.size(), GuidFilter, FuncStartAddrs);
DummyDecoder.printProbesForAllAddresses(outs());
}
}
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
9 changes: 6 additions & 3 deletions bolt/runtime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ 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
Expand All @@ -33,17 +35,18 @@ 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()
2 changes: 1 addition & 1 deletion bolt/test/AArch64/double_jump.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// RUN: %clang %cflags -O0 %s -o %t.exe
// RUN: llvm-bolt %t.exe -o %t.bolt --peepholes=double-jumps | \
// RUN: FileCheck %s -check-prefix=CHECKBOLT
// RUN: llvm-objdump -d %t.bolt | FileCheck %s
// RUN: llvm-objdump --no-print-imm-hex -d %t.bolt | FileCheck %s

// CHECKBOLT: BOLT-INFO: Peephole: 1 double jumps patched.

Expand Down
117 changes: 117 additions & 0 deletions bolt/test/pseudoprobe-decoding-inline.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# REQUIRES: system-linux
# RUN: llvm-bolt %S/../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin --print-pseudo-probes=all -o %t.bolt 2>&1 | FileCheck %s

CHECK: Report of decoding input pseudo probe binaries

CHECK-NEXT: Pseudo Probe Desc:
CHECK-NEXT: GUID: 6699318081062747564 Name: foo
CHECK-NEXT: Hash: 563088904013236
CHECK-NEXT: GUID: 15822663052811949562 Name: main
CHECK-NEXT: Hash: 281479271677951
CHECK-NEXT: GUID: 16434608426314478903 Name: bar
CHECK-NEXT: Hash: 72617220756

CHECK: [Probe]: FUNC: bar Index: 1 Type: Block
CHECK: [Probe]: FUNC: bar Index: 4 Type: Block
CHECK: [Probe]: FUNC: foo Index: 1 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 5 Type: Block
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 3 Type: Block
CHECK: [Probe]: FUNC: foo Index: 4 Type: Block
CHECK: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
CHECK: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 7 Type: Block
CHECK: [Probe]: FUNC: foo Index: 9 Type: DirectCall
CHECK: [Probe]: FUNC: main Index: 1 Type: Block
CHECK: [Probe]: FUNC: foo Index: 1 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 5 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 3 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 4 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
CHECK: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 7 Type: Block Inlined: @ main:2
CHECK: [Probe]: FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2

CHECK: Pseudo Probe Address Conversion results:

CHECK: Address: 0x201750 FUNC: bar Index: 1 Type: Block
CHECK: Address: 0x201750 FUNC: bar Index: 4 Type: Block
CHECK: Address: 0x201770 FUNC: foo Index: 1 Type: Block
CHECK: Address: 0x201770 FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x20177d FUNC: foo Index: 5 Type: Block
CHECK: Address: 0x20177d FUNC: foo Index: 6 Type: Block
CHECK: Address: 0x20177d FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x20178b FUNC: foo Index: 3 Type: Block
CHECK: Address: 0x2017aa FUNC: foo Index: 4 Type: Block
CHECK: Address: 0x2017aa FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
CHECK: Address: 0x2017aa FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
CHECK: Address: 0x2017aa FUNC: foo Index: 6 Type: Block
CHECK: Address: 0x2017aa FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x2017d7 FUNC: foo Index: 7 Type: Block
CHECK: Address: 0x2017e2 FUNC: foo Index: 9 Type: DirectCall
CHECK: Address: 0x2017f0 FUNC: main Index: 1 Type: Block
CHECK: Address: 0x2017f0 FUNC: foo Index: 1 Type: Block Inlined: @ main:2
CHECK: Address: 0x2017f0 FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: Address: 0x2017fd FUNC: foo Index: 5 Type: Block Inlined: @ main:2
CHECK: Address: 0x2017fd FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK: Address: 0x2017fd FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: Address: 0x20180b FUNC: foo Index: 3 Type: Block Inlined: @ main:2
CHECK: Address: 0x20182a FUNC: foo Index: 4 Type: Block Inlined: @ main:2
CHECK: Address: 0x20182a FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
CHECK: Address: 0x20182a FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
CHECK: Address: 0x20182a FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK: Address: 0x20182a FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK: Address: 0x201857 FUNC: foo Index: 7 Type: Block Inlined: @ main:2
CHECK: Address: 0x201862 FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2

CHECK: Address: 2103120
CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block
CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block
CHECK-NEXT: Address: 2103152
CHECK-NEXT: [Probe]: FUNC: foo Index: 1 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: Address: 2103165
CHECK-NEXT: [Probe]: FUNC: foo Index: 5 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: Address: 2103179
CHECK-NEXT: [Probe]: FUNC: foo Index: 3 Type: Block
CHECK-NEXT: Address: 2103210
CHECK-NEXT: [Probe]: FUNC: foo Index: 4 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ foo:8
CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ foo:8
CHECK-NEXT: Address: 2103255
CHECK-NEXT: [Probe]: FUNC: foo Index: 7 Type: Block
CHECK-NEXT: Address: 2103266
CHECK-NEXT: [Probe]: FUNC: foo Index: 9 Type: DirectCall
CHECK-NEXT: Address: 2103280
CHECK-NEXT: [Probe]: FUNC: main Index: 1 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 1 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK-NEXT: Address: 2103293
CHECK-NEXT: [Probe]: FUNC: foo Index: 5 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK-NEXT: Address: 2103307
CHECK-NEXT: [Probe]: FUNC: foo Index: 3 Type: Block Inlined: @ main:2
CHECK-NEXT: Address: 2103338
CHECK-NEXT: [Probe]: FUNC: foo Index: 4 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block Inlined: @ main:2
CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block Inlined: @ main:2 @ foo:8
CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block Inlined: @ main:2 @ foo:8
CHECK-NEXT: Address: 2103383
CHECK-NEXT: [Probe]: FUNC: foo Index: 7 Type: Block Inlined: @ main:2
CHECK-NEXT: Address: 2103394
CHECK-NEXT: [Probe]: FUNC: foo Index: 9 Type: DirectCall Inlined: @ main:2
74 changes: 74 additions & 0 deletions bolt/test/pseudoprobe-decoding-noinline.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# REQUIRES: system-linux
# RUN: llvm-bolt %S/../../llvm/test/tools/llvm-profgen/Inputs/noinline-cs-pseudoprobe.perfbin --print-pseudo-probes=all -o %t.bolt 2>&1 | FileCheck %s

;; Report of decoding input pseudo probe binaries

; CHECK: GUID: 6699318081062747564 Name: foo
; CHECK: Hash: 563088904013236
; CHECK: GUID: 15822663052811949562 Name: main
; CHECK: Hash: 281479271677951
; CHECK: GUID: 16434608426314478903 Name: bar
; CHECK: Hash: 72617220756

CHECK: [Probe]: FUNC: bar Index: 1 Type: Block
CHECK: [Probe]: FUNC: bar Index: 4 Type: Block
CHECK: [Probe]: FUNC: foo Index: 1 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 5 Type: Block
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 3 Type: Block
CHECK: [Probe]: FUNC: foo Index: 4 Type: Block
CHECK: [Probe]: FUNC: foo Index: 8 Type: DirectCall
CHECK: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK: [Probe]: FUNC: foo Index: 7 Type: Block
CHECK: [Probe]: FUNC: foo Index: 9 Type: DirectCall
CHECK: [Probe]: FUNC: main Index: 1 Type: Block
CHECK: [Probe]: FUNC: main Index: 2 Type: DirectCall

CHECK: Pseudo Probe Address Conversion results:

CHECK: Address: 0x201760 FUNC: bar Index: 1 Type: Block
CHECK: Address: 0x201760 FUNC: bar Index: 4 Type: Block
CHECK: Address: 0x201780 FUNC: foo Index: 1 Type: Block
CHECK: Address: 0x201780 FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x20178d FUNC: foo Index: 5 Type: Block
CHECK: Address: 0x20178d FUNC: foo Index: 6 Type: Block
CHECK: Address: 0x20178d FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x20179b FUNC: foo Index: 3 Type: Block
CHECK: Address: 0x2017ba FUNC: foo Index: 4 Type: Block
CHECK: Address: 0x2017bc FUNC: foo Index: 8 Type: DirectCall
CHECK: Address: 0x2017ba FUNC: foo Index: 6 Type: Block
CHECK: Address: 0x2017ba FUNC: foo Index: 2 Type: Block
CHECK: Address: 0x2017ce FUNC: foo Index: 7 Type: Block
CHECK: Address: 0x2017d5 FUNC: foo Index: 9 Type: DirectCall
CHECK: Address: 0x2017f0 FUNC: main Index: 1 Type: Block
CHECK: Address: 0x2017f4 FUNC: main Index: 2 Type: DirectCall

CHECK: Address: 2103136
CHECK-NEXT: [Probe]: FUNC: bar Index: 1 Type: Block
CHECK-NEXT: [Probe]: FUNC: bar Index: 4 Type: Block
CHECK-NEXT: Address: 2103168
CHECK-NEXT: [Probe]: FUNC: foo Index: 1 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: Address: 2103181
CHECK-NEXT: [Probe]: FUNC: foo Index: 5 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: Address: 2103195
CHECK-NEXT: [Probe]: FUNC: foo Index: 3 Type: Block
CHECK-NEXT: Address: 2103226
CHECK-NEXT: [Probe]: FUNC: foo Index: 4 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 6 Type: Block
CHECK-NEXT: [Probe]: FUNC: foo Index: 2 Type: Block
CHECK-NEXT: Address: 2103228
CHECK-NEXT: [Probe]: FUNC: foo Index: 8 Type: DirectCall
CHECK-NEXT: Address: 2103246
CHECK-NEXT: [Probe]: FUNC: foo Index: 7 Type: Block
CHECK-NEXT: Address: 2103253
CHECK-NEXT: [Probe]: FUNC: foo Index: 9 Type: DirectCall
CHECK-NEXT: Address: 2103280
CHECK-NEXT: [Probe]: FUNC: main Index: 1 Type: Block
CHECK-NEXT: Address: 2103284
CHECK-NEXT: [Probe]: FUNC: main Index: 2 Type: DirectCall
2 changes: 1 addition & 1 deletion bolt/test/runtime/AArch64/adrrelaxationpass.s
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# RUN: %s -o %t.o
# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q
# RUN: llvm-bolt %t.exe -o %t.bolt --adr-relaxation=true
# RUN: llvm-objdump -d --disassemble-symbols=main %t.bolt | FileCheck %s
# RUN: llvm-objdump --no-print-imm-hex -d --disassemble-symbols=main %t.bolt | FileCheck %s
# RUN: %t.bolt

.data
Expand Down
19 changes: 9 additions & 10 deletions clang-tools-extra/clang-doc/BitcodeReader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -368,28 +368,27 @@ template <typename T> llvm::Expected<CommentInfo *> getCommentInfo(T I) {
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(FunctionInfo *I) {
I->Description.emplace_back();
return &I->Description.back();
return &I->Description.emplace_back();
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(NamespaceInfo *I) {
I->Description.emplace_back();
return &I->Description.back();
return &I->Description.emplace_back();
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(RecordInfo *I) {
I->Description.emplace_back();
return &I->Description.back();
return &I->Description.emplace_back();
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(MemberTypeInfo *I) {
I->Description.emplace_back();
return &I->Description.back();
return &I->Description.emplace_back();
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(EnumInfo *I) {
I->Description.emplace_back();
return &I->Description.back();
return &I->Description.emplace_back();
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(TypedefInfo *I) {
return &I->Description.emplace_back();
}

template <> llvm::Expected<CommentInfo *> getCommentInfo(CommentInfo *I) {
Expand Down
Loading