Skip to content
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

[Profile] Refactor profile correlation. #69656

Closed
wants to merge 1,050 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
1050 commits
Select commit Hold shift + click to select a range
5558504
[mlir][IR] Make `OpOperand` comparable (#70410)
matthias-springer Oct 27, 2023
116eb32
[RISCV] Correct copyPhysReg for GPRPF64. (#70419)
topperc Oct 27, 2023
a723a5b
Apply clang-tidy fixes for misc-include-cleaner in AliasAnalysis.cpp …
joker-eph Oct 20, 2023
a2e69c5
Apply clang-tidy fixes for misc-include-cleaner in LocalAliasAnalysis…
joker-eph Oct 20, 2023
9dd06a1
Apply clang-tidy fixes for misc-include-cleaner in CallGraph.cpp (NFC)
joker-eph Oct 20, 2023
8a51518
Apply clang-tidy fixes for misc-include-cleaner in ConstantPropagatio…
joker-eph Oct 20, 2023
e48038a
Apply clang-tidy fixes for misc-include-cleaner in DeadCodeAnalysis.c…
joker-eph Oct 20, 2023
fba3951
Apply clang-tidy fixes for misc-include-cleaner in DenseAnalysis.cpp …
joker-eph Oct 20, 2023
fde1ecd
Revert "[libc++][tests] Fix a few remaining instances of outdated sta…
vitalybuka Oct 27, 2023
7046202
[flang] Move whole allocatable assignment implicit conversion to lowe…
jeanPerier Oct 27, 2023
58d4fe2
[X86][EVEX512] Do not allow 512-bit memcpy without EVEX512 (#70420)
phoebewang Oct 27, 2023
8e247b8
Replace TypeSize::{getFixed,getScalable} with canonical TypeSize::{Fi…
MaskRay Oct 27, 2023
fb619b3
[CMake] Address the issue introduced in #69869
petrhosek Oct 27, 2023
ccc5713
TypeSize: remove redundant getFixed and getScalable
MaskRay Oct 27, 2023
1914bcf
[docs] Improve README: point to office hours and online sync-ups (#69…
kbeyls Oct 27, 2023
ea1909f
[InstSimplify] Add tests for #69050 and #69091 (NFC)
nikic Oct 27, 2023
0a10e88
[flang] Implement legacy %VAL and %REF actual arguments (#70343)
jeanPerier Oct 27, 2023
5270df3
[mlir][vector] Add scalable vectors to tests for vector.contract (#70…
banach-space Oct 27, 2023
e6e55e6
[mlir][vector] Fix off-by-one error in `getTransferChunkAccessed` (#7…
matthias-springer Oct 27, 2023
b8b491c
AMDGPU: Add infinite looping testcase after subrange spilling change
arsenm Oct 3, 2023
c149ff3
[Driver] Link Flang runtime on FreeBSD, NetBSD, OpenBSD, DragonFly an…
brad0 Oct 27, 2023
051fade
[clang][Interp][NFC] Use delegate() address-of operators
tbaederr Oct 27, 2023
e64e478
[clang][Interp][NFC] Rename a parameter
tbaederr Oct 27, 2023
674261b
[mlir][Vector] Add narrow type emulation pattern for vector.maskedloa…
tyb0807 Oct 27, 2023
75b0a99
[test][compiler-rt] Mark several tests as UNSUPPORTED on LoongArch (#…
Ami-zhang Oct 27, 2023
e9a7876
[C++20] [Modules] Chose BMI from for module m with the last
ChuanqiXu9 Oct 27, 2023
dd48913
[libc++] Fix _CopySegment helper in ranges::copy(join_view, out) when…
Rajveer100 Oct 27, 2023
ec7c1a4
Reland [mlir][tools] Introduce tblgen-to-irdl tool (#70121)
Groverkss Oct 27, 2023
6c3bc91
[clang-format][NFC] Remove more extraneous newlines in unit tests
owenca Oct 27, 2023
4d4f603
[mlir][Vector] Fix integration test for vector.maskedload narrow type…
tyb0807 Oct 27, 2023
e4dc7d4
[InstCombine] Remove redundant cast of GEP fold (NFC)
nikic Oct 27, 2023
45e2e03
[mlir][SVE] Add an e2e test for vectorization of linalg.matmul (#70372)
banach-space Oct 27, 2023
f0899ed
[AMDGPU] Give some of the VI V_PK_* instructions a subtarget predicat…
kosarev Oct 27, 2023
9299ace
[clang-format][NFC] Remove extraneous newlines in remaining unit tests
owenca Oct 27, 2023
7360c6a
[Driver][test][NFC] Simplify some of the OpenBSD tests
brad0 Oct 27, 2023
b23426e
[LLVM][AArch64][Assembly]: Add FAMINMAX assembly/disasse… (#70115)
hassnaaHamdi Oct 27, 2023
c8e1fbc
[RISCV] Keep same SEW/LMUL ratio if possible in forward transfer (#69…
lukel97 Oct 27, 2023
02ef12d
[lldb] Return unimplemented error from ScriptedProcessInterface::Crea…
DavidSpickett Oct 27, 2023
9bcb30d
[CodeGen] Improve ExpandMemCmp for more efficient non-register aligne…
igogo-x86 Oct 27, 2023
f9cd789
[AMDGPU] Add pseudo instructions for SGPR spill to VGPR (#69923)
cdevadas Oct 27, 2023
8e0b3a8
[mlir][vector] Update v.contract -> v.outerproduct tests (1/N) (#70379)
banach-space Oct 27, 2023
cff6652
[VPlan] Handle VPValues without underlying values in getTypeForVPValue.
fhahn Oct 27, 2023
7391ad3
[Flang][OpenMP] Move the host-ir-flag test to the Driver directory (#…
kiranchandramohan Oct 27, 2023
4fc1e7d
[InstSimplify] Fold (a != 0) ? abs(a) : 0 (#70305)
Pierre-vh Oct 27, 2023
cdc5e00
[LV] Add test case to scalarize ptrtoint instructions.
fhahn Oct 27, 2023
37d9dc4
[X86] Add test case for Issue #66150
RKSimon Oct 27, 2023
b0b8864
[VPlan] Add initial anlysis to infer scalar type of VPValues. (#69013)
fhahn Oct 27, 2023
a0eb6b8
[AMDGPU] Try to fix the block prologs broken by RA inserted instructi…
cdevadas Oct 27, 2023
b3b611f
[libc++] Fix flakiness in `atomic_notify_all.pass.cpp` (#70436)
var-const Oct 27, 2023
c131455
[gn build] Port b0b88643a1fa
llvmgnsyncbot Oct 27, 2023
e9478b1
[mlir][SVE] Add more e2e test for vector.contract (#70367)
banach-space Oct 27, 2023
396b562
[clang] use relative paths for builtin headers during module compilat…
rmaz Oct 27, 2023
deb429e
Revert "[CodeGen] Improve ExpandMemCmp for more efficient non-registe…
igogo-x86 Oct 27, 2023
cb950c9
[libc++] Make sure we implement and test LWG2280 properly (#67670)
ldionne Oct 27, 2023
574c5cc
[libc++] Fix incorrect length check in std::basic_filebuf
ldionne Jul 5, 2023
3e32b80
[flang] Consider bind(c) when lowering calls to intrinsic module proc…
razvanlupusoru Oct 27, 2023
d8003d0
[lldb][lldb-dap] Remove extra spaces at the end of --help examples
DavidSpickett Oct 27, 2023
58bdd16
[ARM] Add a test for incorrect demand bits / undef fold. NFC
davemgreen Oct 27, 2023
b1b9cd4
[clang]set invalid for lambda which missing capture `this` (#70432)
HerrCai0907 Oct 27, 2023
7c90be2
[SVE] Fix incorrect offset calculation when rewriting an instruction'…
paulwalker-arm Oct 27, 2023
2637467
[clang-tidy]Fix PreferMemberInitializer false positive for reassignme…
HerrCai0907 Oct 27, 2023
b00c8b9
[PassTimingInfo] Handle nested timers in passes (#70165)
apolloww Oct 27, 2023
13de759
[Flang][OpenMP] Port openmp threadprivate tests to HLFIR flow (#70440)
harishch4 Oct 27, 2023
547a507
TypeSize: remove unused deprecated methods
MaskRay Oct 27, 2023
03485a0
[openmp][flang] Add tests for map clause (#70394)
shraiysh Oct 27, 2023
8f9da1e
[mlir][ml_program] Add asm names for load (#70409)
jpienaar Oct 27, 2023
7aa65c3
[mlir][Vector] Update v.contract -> v.outerproduct tests (NFC) (#70449)
banach-space Oct 27, 2023
4c43c1e
[RISCV][GISEL] Add legalizer for G_BSWAP (#70226)
michaelmaitland Oct 27, 2023
4b58112
[RISCV][GISel] Fix failing test case for G_BSWAP
michaelmaitland Oct 27, 2023
3e6d6f2
[AMDGPU] Set Size to 4 for V_MOV_B64_PSEUDO and S_MOV_B64_IMM_PSEUDO …
rampitec Oct 27, 2023
793e636
[Headers] Add \returns to _rdpid_u32 (#70481)
pogo59 Oct 27, 2023
6e863c4
[libc] Fix incorrect printing for alt mode ints (#70252)
michaelrj-google Oct 27, 2023
138e6c1
[AArch64][TTI] Improve `LegalVF` when gather loads are scalarized
antoniofrighetto Oct 27, 2023
08e9c46
SwiftCallingConv: Fix the splitVectorEntry function (#69953)
aschwaighofer Oct 27, 2023
11b3b38
[lldb] Make ScriptedInterface::CreateObjectPlugin less strict
medismailben Oct 27, 2023
acc6f3e
TosaToLinalgNamed: add option to prefer HWCF kernel layout for Conv2D…
bjacob Oct 27, 2023
2463a0e
[clang-tidy][test] Add more bugprone-string-constructor tests (#70456)
maflcko Oct 27, 2023
124613c
[RISCV] Separate FPR and VR copyPhysReg implementation. (#70492)
topperc Oct 27, 2023
c18e78c
[RISCV] Add copyPhysRegVector to extract common vector code out of co…
topperc Oct 27, 2023
9a091de
[X86, Peephole] Enable FoldImmediate for X86
weiguozhi Oct 27, 2023
7415799
[Driver][NFC] Make some derived classes of Tool final (#70416)
brad0 Oct 27, 2023
8e447a1
[libc] Optimize the RPC memory copy for the AMDGPU target (#70467)
jhuber6 Oct 27, 2023
5513d58
[OpenMP][AMDGPU] Do not include 'ockl' implementations in OpenMP (#70…
jhuber6 Oct 27, 2023
5c15922
[clang] Remove no-op ptr-to-ptr bitcasts (NFC)
JOE1994 Oct 27, 2023
3333096
[Test] NFC. Add a test exposing a SCEV bug causing an LSR miscompile
Oct 27, 2023
8e463b3
[flang][openacc] Convert rhs expr to the lhs type on atomic read/writ…
clementval Oct 27, 2023
d136432
[AMDGPU] Remove unneeded implicit-def from shrink-i32-kimm.mir. NFC. …
rampitec Oct 27, 2023
035c154
[RISCV] Refactor RISCVPostRAExpandPseudo::expandMovImm and RISCVInstr…
topperc Oct 26, 2023
b679ec8
[RISCV] Use RISCVInstrInfo::movImm to implement most of RISCVPostRAEx…
topperc Oct 26, 2023
8363996
[RISCV] Reduce the number of parameters to copyPhysRegVector. NFC (#7…
topperc Oct 27, 2023
505e323
[Test] NFC. Add missing "REQUIRES: x86-registered-target" to LoopStre…
Oct 27, 2023
7d225bf
[AArch64] Clarify that Anyext is OK for MOPS instructions. NFC
davemgreen Oct 27, 2023
840bf2a
[mlgo][regalloc] Fix tests post 9a091de7
mtrofin Oct 27, 2023
6a93da9
[mlir][sparse] add ReinterpretMapScopeOption for the pass (#70486)
PeimingLiu Oct 27, 2023
703895b
[clang] Language to String function (#69487)
ysyeda Oct 27, 2023
d37b283
Revert "[InstCombine] Add oneuse checks to shr + cmp constant folds."
aemerson Oct 27, 2023
22c3d9d
[libc++] Disable test which timeouts on ARM with sanitizers
vitalybuka Oct 27, 2023
d3cbf9f
[lldb] Add logging to ObjectFileMachO::ParseSymtab (#70490)
JDevlieghere Oct 27, 2023
6397ea7
[mlir][sparse] minor edit of map reinterpretation pass doc (#70513)
aartbik Oct 27, 2023
8ceb72f
[AMDGPU] make v32i16/v32f16 legal (#70484)
changpeng Oct 27, 2023
731bdce
[InstCombine] Add tests for folding (icmp eq/ne (and (add/sub/xor A, …
goldsteinn Sep 29, 2023
0289dad
[InstCombine] Add folds for (icmp eq/ne (and (add/sub/xor A, P2), P2)…
goldsteinn Sep 29, 2023
4e4433f
[lldb] Remove some declarations without definitions (#70514)
s-barannikov Oct 27, 2023
01828c4
[OpenMP] record-replay use static-cast (#70516)
koparasy Oct 27, 2023
7d608ee
[mlir][sparse] unify sparse_tensor.out rewriting rules (#70518)
PeimingLiu Oct 27, 2023
4f183b1
[mlir][sparse] remove obsoleted output methods from runtime (#70523)
aartbik Oct 27, 2023
d0f2c28
[DataFlowSanitizer] Remove no-op ptr-to-ptr bitcasts (NFC)
JOE1994 Oct 28, 2023
558c1f1
[Flang][OpenMP] skip CompilerDirective on ResolveOmpTopLevelParts. (#…
Z572 Oct 28, 2023
a8e0acf
[Driver][NFC] Fix a typo in the function name
brad0 Oct 28, 2023
223852a
[OpenMP] Fix building for 32-bit DragonFly, NetBSD, OpenBSD (#70527)
brad0 Oct 28, 2023
3cd2a0b
[mlir][Interfaces] `LoopLikeOpInterface`: Add helpers to query tied i…
matthias-springer Oct 28, 2023
f70e39e
[BasicBlockSections] Apply path cloning with -basic-block-sections. (…
rlavaee Oct 28, 2023
631e291
[mlir][bytecode] Fix D155919 and enable backward-compatibility and ba…
Oct 28, 2023
19c0c0b
TypeSize: remove unused deprecated methods
MaskRay Oct 28, 2023
6ed2d30
[mlir][tosa] Add verifier for tosa.reverse (#70500)
ubfx Oct 28, 2023
8db38bd
[analyzer] Extend EnumCastOutOfRange diagnostics (#68191)
Oct 28, 2023
fc6bdb8
[SimplifyCFG] Reland transform for redirecting phis between unmergeab…
XChy Oct 28, 2023
4f6757c
[JITLink][RISCV] Implement eh_frame handling (#68253)
hahnjo Oct 28, 2023
46cb7e4
[LoopDist] Update the pragma info of loop distribute, NFC (#69825)
vfdff Oct 28, 2023
2228b35
Revert "Revert "[InstCombine] Add oneuse checks to shr + cmp constant…
aemerson Oct 28, 2023
d4b8572
[compiler-rt] Fix src_rep_t_clz and clz_in_sig_frac
alexander-shaposhnikov Oct 28, 2023
39b9395
[MLIR][Presburger] Add simplify function (#69107)
gilsaia Oct 28, 2023
497b2eb
[clang-format] Change LLVM style to BreakAfterAttributes == ABS_Leave…
Endilll Oct 28, 2023
b1554fe
[Linker] Do not keep a private member of a non-prevailing comdat grou…
igorkudrin Oct 28, 2023
e00d32a
[clang-format][NFC] Delete TT_LambdaArrow (#70519)
owenca Oct 28, 2023
49ae2ef
[RISCV][GISel] Support G_FMA/NEG/ABS/SQRT/MAXNUM/MINNUM for F and D e…
topperc Oct 28, 2023
4ac3042
[RISCV][GISel] Support G_FPEXT/G_FPTRUNC for F and D extension.
topperc Oct 28, 2023
a5a9086
Apply clang-tidy fixes for misc-include-cleaner in DataFlowFramework.…
joker-eph Oct 20, 2023
383f2bd
Apply clang-tidy fixes for misc-include-cleaner in IntegerRangeAnalys…
joker-eph Oct 20, 2023
37d1d9f
Apply clang-tidy fixes for misc-include-cleaner in LivenessAnalysis.c…
joker-eph Oct 20, 2023
ebc2c4b
Apply clang-tidy fixes for misc-include-cleaner in SparseAnalysis.cpp…
joker-eph Oct 20, 2023
1a2e77c
Revert "Revert "Inlining: Run the legacy AlwaysInliner before the reg…
aemerson Oct 29, 2023
133e50d
[RISCV][GISel] Directly emit X0 from getICMPOperandsForBranch instead…
topperc Oct 29, 2023
0c4f326
[MemCpyOpt] Combine alias metadatas when replacing byval arguments (#…
DianQK Oct 29, 2023
35649c6
[MLIR][LLVM] Deprecate typed pointer operation builder (#70576)
Dinistro Oct 29, 2023
f39c385
[MLGO] Fix tests post 1a2e77c
boomanaiden154 Oct 29, 2023
e605fba
fix: asan support aarch64be (#70536)
hstk30-hw Oct 29, 2023
a68ce6c
[bazel] Add missing depdendency for a5a908654ee42d270af06c11f17bd558f…
d0k Oct 29, 2023
4779348
[mlir][tosa] Fix not to crash with large permutation indexes (#69857)
Lewuathe Oct 29, 2023
640274f
[libc++][NFC] Refactor __enable_ifs in <cstddef> to be defaulted
philnik777 Oct 29, 2023
f8fe400
[clang][Interp][NFC] Make IntegralAP::isSigned() constexpr
tbaederr Oct 29, 2023
b5281af
[X86] Avoid returning the same shuffle operation for broadcast (#70592)
phoebewang Oct 29, 2023
3f64c0f
[clang-tidy] Fix readability-avoid-const-params-in-decls - point to t…
Da-Viper Oct 29, 2023
d96529a
[DAG] Attempt shl narrowing in SimplifyDemandedBits (REAPPLIED)
RKSimon Oct 29, 2023
64ed116
[ASan] aarch64be.ll - fix missing aarch64-registered-target requireme…
RKSimon Oct 29, 2023
a3a68e0
[gn] port f70e39ec1731
nico Oct 29, 2023
a65070a
[libc++] Remove a few transitive includes (#70553)
philnik777 Oct 29, 2023
8d2efd7
[DAG] Avoid ComputeNumSignBits call when we know the result is unsigned
RKSimon Oct 29, 2023
31b9121
[OpenMP] Unify the min/max thread/teams pathways
jdoerfert Oct 25, 2023
d8f5a18
Perf/lexer faster slow get char and size (#70543)
serge-sans-paille Oct 29, 2023
d346c82
[OpenMP] Associate the KernelEnvironment with the GenericKernelTy (#7…
jdoerfert Oct 29, 2023
d6a3d6b
[openmp] Fixed Support for VA for record-replay. (#70396)
koparasy Oct 29, 2023
5eb65ca
[OpenMP] Move function out of !NDEBUG section
nikic Oct 29, 2023
66464eb
[Github] Add OpenMP docs to Github docs action (#70529)
boomanaiden154 Oct 29, 2023
5cfa03e
[Github] Add Polly docs to Github actions (#70531)
boomanaiden154 Oct 29, 2023
91b9a66
[clang-format][NFC] Reduce indent
HazardyKnusperkeks Oct 29, 2023
0d1da7c
[OpenMP] Make use of getloadavg() on *BSD OS's (#70586)
brad0 Oct 29, 2023
072a7ed
[AArch64] Add additional concat trunc -> UZP1 patterns
davemgreen Oct 29, 2023
1c876ff
Revert "Perf/lexer faster slow get char and size (#70543)"
nico Oct 30, 2023
dbeaee6
[NFC][DominanceFrontier] Replace std::map with DenseMap for DomSetMap…
wenju-he Oct 30, 2023
0a29879
[OpenMP] Add missing bit with the Hurd support (#70609)
brad0 Oct 30, 2023
77c6339
[MLIR][mlir-opt] Add `registerationAndParseCLIOptions` for `MlirOptMa…
weiweichen Oct 30, 2023
2204364
[docs] [C++20] [Modules] Add document for the case of duplicated '-fm…
ChuanqiXu9 Oct 30, 2023
a8d0c86
[mlir][Interfaces][NFC] Move `SubsetInsertionOpInterface` to `mlir/In…
matthias-springer Oct 30, 2023
9925801
[Preprocessor][test] Add Haiku
brad0 Oct 30, 2023
30ca16e
[mlir][spirv] Handle failed conversions of struct elements (#70005)
Pierre-vh Oct 30, 2023
d16d149
[doc] Improve wording for "What is considered a security issue?" (#69…
kbeyls Oct 30, 2023
130b149
[MLIR][FuncToLLVM] Remove typed pointer support (#70574)
Dinistro Oct 30, 2023
41f3b83
[MLIR][SPIRVToLLVM] Remove typed pointer support (#70568)
Dinistro Oct 30, 2023
ed3f06b
[IR] Add zext nneg flag (#67982)
nikic Oct 30, 2023
6a0f6dd
Revert "[MLIR][FuncToLLVM] Remove typed pointer support (#70574)"
Dinistro Oct 30, 2023
e79f050
[compiler-rt] Don't use 'vg' in CFI directives for SME ABI routines
sdesmalen-arm Oct 27, 2023
b72732c
[clang][Interp] Handle CXXTryStmts (#70584)
tbaederr Oct 30, 2023
54732a3
[AArch64] Use TargetRegisterClass::hasSubClassEq in tryToFindRegister…
c-rhodes Oct 30, 2023
5c8a71d
[InstCombine] Remove unnecessary icmp of all-zero gep folds (NFC)
nikic Oct 30, 2023
1770a2e
[InstCombine] Simplify and/or of icmp eq with op replacement (#70335)
nikic Oct 30, 2023
a902ca6
[MLIR][LLVM] Infer export location scope from location, if possible (…
Dinistro Oct 30, 2023
6d30bc0
[AArch64][SME] Allow inlining when streaming-mode attributes dont mat…
sdesmalen-arm Oct 30, 2023
a316f14
[RISCV][NFC] Move getRVVMCOpcode to RISCVInstrInfo (#70637)
wangpc-pp Oct 30, 2023
edebbb4
[AMDGPU/VOP3P][NFC] - Simplify wmma instruction defs (#70622)
OutOfCache Oct 30, 2023
8f11f98
[clang][NFC] Assert not llvm_unreachable (#70149)
urnathan Oct 30, 2023
97f0595
Update mlir-spirv-cpu-runner.cpp (#70649)
tsitdikov Oct 30, 2023
7b2e009
[clang] Robustify openmp test (#69739)
urnathan Oct 30, 2023
3e96070
[MLIR][LLVM] Avoid exporting broken debug intrinsics without a locati…
Dinistro Oct 30, 2023
46edbce
[MLIR][LLVM] Change CAPI pointer factory to create opaque pointers (#…
Dinistro Oct 30, 2023
8483d18
[mlir][Transform] Relax the applicability of transform.foreach_match …
nicolasvasilache Oct 25, 2023
b2929be
[lldb] Adapt code to Python 3.13 (#70445)
tuliom Oct 30, 2023
f664326
Remove the opaque pointers flag from tools
d0k Oct 30, 2023
a1b2ace
[mlir][ArmSME] Add optional padding and mask operands to tile_load (#…
c-rhodes Oct 30, 2023
da28c33
[UTC] Recognise CHECK lines with globals matched literally (#70050)
hnrklssn Oct 30, 2023
526c9b7
[clang][nullability] Use `proves()` and `assume()` instead of depreca…
martinboehme Oct 30, 2023
4326497
[X86] vec_insert-5.ll - ensure we build with +mmx as we reference x86…
RKSimon Oct 30, 2023
7090422
[LoopVectorize] Enhance Vectorization decisions for predicate tail-fo…
igogo-x86 Oct 30, 2023
ddd2747
[flang] Put ISO_Fortran_binding.h where it can be easily used (#70129)
psteinfeld Oct 30, 2023
89f8d35
[AMDGPU] Fix subtarget predicates for some V_MFMA instructions. (#70450)
kosarev Oct 30, 2023
e9ff4e4
[Clang][RISCV] Add vundefine intrinsics for tuple types (#70354)
eopXD Oct 30, 2023
43a94cb
[mlir][ArmSME] NFC: Rename tild_id -> tile_id
c-rhodes Oct 30, 2023
292f34b
[AArch64][GlobalISel] Fix incorrect ABI when tail call not supported …
nikic Oct 30, 2023
564e016
[clang][analyzer] Do not analyze opaque types in CXXDeleteChecker (#7…
Discookie Oct 30, 2023
fb08c69
[JumpThreading] Add test for #70651 (NFC)
nikic Oct 30, 2023
af15c46
[SLP]Do not crash if number of vector registers does not feet the vector
alexey-bataev Oct 30, 2023
bb352b6
[APINotes] Upstream APINotesReader
egorzhdan Oct 30, 2023
4bbb2bc
[gn build] Port bb352b6ead5b
llvmgnsyncbot Oct 30, 2023
6a62707
[Flang][OpenMP][MLIR] Initial array section mapping MLIR -> LLVM-IR l…
agozillon Oct 30, 2023
273ceb1
[Clang] Diagnose defaulted assignment operator with incompatible obje…
cor3ntin Oct 30, 2023
ee6d62d
[AMDGPU] Prevent folding of the negative i32 literals as i64 (#70274)
rampitec Oct 30, 2023
fe8335b
[AMDGPU] Select 64-bit imm moves if can be encoded as 32 bit operand …
rampitec Oct 30, 2023
72e6c1c
[RISCV] Begin moving post-isel vector peepholes to a MF pass (#70342)
lukel97 Oct 30, 2023
849297c
[AMDGPU][wmma] - Add tied wmma intrinsic (#69903)
OutOfCache Oct 30, 2023
56dab2c
[clang][Interp] Fix truncateCast() (#69911)
tbaederr Oct 30, 2023
f89b859
[HLSL][SPIR-V] Fix clang driver lang target test (#70330)
sudonatalie Oct 30, 2023
8bc4462
Remove unused variable. (#70670)
tsitdikov Oct 30, 2023
bb9dced
[lldb][AArch64][Linux] Rename Is<ext>Enabled to Is<ext>Present (#70303)
DavidSpickett Oct 30, 2023
fecd11b
[RISCV] Remove old peephole declaration in RISCVISelDAGToDAG.h. NFC
lukel97 Oct 30, 2023
d9b15b0
[CGExprConstant] stop calling into ConstExprEmitter for Reference typ…
nickdesaulniers Oct 30, 2023
3746f20
[gn build] Port 72e6c1c70d5e
llvmgnsyncbot Oct 30, 2023
dc8c2a7
[flang][openacc][NFC] Add test for atomic with array ref (#70261)
clementval Oct 30, 2023
f95b2f1
Reland "[InstrProf][compiler-rt] Enable MC/DC Support in LLVM Source-…
evodius96 Sep 21, 2023
7de70e0
[Flang][OpenMP] Fix comments that should not be Sentinels on fixed fo…
Z572 Oct 30, 2023
8a1719d
[clang][Interp][NFC] Use delegate() in VisitCXXBindTemporaryExpr
tbaederr Oct 30, 2023
f753703
[X86] Print 'l' section flag for SHF_X86_64_LARGE (#70380)
aeubanks Oct 30, 2023
3c58855
[libc++][tests] Fix a few remaining instances of outdated static asse…
ldionne Oct 30, 2023
101008b
[AMDGPU] CodeGen for 64-bit buffer atomic cmpswap intrinsics (#70475)
jayfoad Oct 30, 2023
f706837
[flang][mlir][openacc] Switch device_type representation to an enum (…
clementval Oct 30, 2023
284d136
[RISCV] Teach copyPhysReg to allow copies between GPR<->FPR32/FPR64 (…
topperc Oct 30, 2023
c42b640
Fix the DEVELOPER_DIR computation (#70528)
adrian-prantl Oct 30, 2023
a1b4005
[clang][Module] Mark test unsupported since objc doesn't have xcoff/g…
jakeegan Oct 30, 2023
6939411
[docs] mention that DenseMap has a SmallDenseMap variant (#70677)
nickdesaulniers Oct 30, 2023
c3f7ca7
[lldb][Test] TestDataFormatterLibcxxChrono.py: skip test on older cla…
Michael137 Oct 30, 2023
77e88db
[RISCV][GISel] Add missing curly brace to test. NFC
topperc Oct 30, 2023
7358c26
[flang] Check for overflows in RESHAPE folding (#68342)
luporl Oct 30, 2023
9a7c26a
[GISel] Restrict G_BSWAP to multiples of 16 bits. (#70245)
topperc Oct 30, 2023
e46dd6f
Revert "[InstCombine] Simplify and/or of icmp eq with op replacement …
nikic Oct 30, 2023
0f8615f
[flang][openacc][openmp] Set correct location on atomic operations (#…
clementval Oct 30, 2023
b45236f
[clang] Implement constexpr bit_cast for vectors (#66894)
DaMatrix Oct 30, 2023
1de5fe1
[MCA][X86] Add AVX512 FMA instruction test coverage
RKSimon Oct 30, 2023
8094119
[X86] IceLakeServer - ZMM FMA can only use Port0
RKSimon Oct 30, 2023
a879971
[AArch64] Introduce tests for PR67879 (NFC)
antoniofrighetto Oct 30, 2023
9fe5700
[AArch64] Add support for v8.4a `ldapur`/`stlur`
antoniofrighetto Oct 30, 2023
896749a
[amdgpu][openmp] Avoiding writing to packet header twice (#70695)
JonChesterfield Oct 30, 2023
89564f0
Regenerate a set of auto-update tests [nfc]
preames Oct 30, 2023
849f963
[CodeGen] Improve ExpandMemCmp for more efficient non-register aligne…
igogo-x86 Oct 30, 2023
134c915
[libc++] Fix UB in <expected> related to "has value" flag (#68552) (#…
jiixyj Oct 30, 2023
d0caa4e
[ADT] Backport std::to_underlying from C++23 (#70681)
Endilll Oct 30, 2023
3f2ed81
[InstCombine] Infer nneg on zext when forming from non-negative sext …
preames Oct 30, 2023
420de31
[Profile] Refactor profile correlation.
ZequanWu Oct 19, 2023
29a3f9d
adopt suggested changes.
ZequanWu Oct 23, 2023
26152c2
Move options to TargetLoweringObjectFileImpl.cpp
ZequanWu Oct 26, 2023
4366f68
format
ZequanWu Oct 26, 2023
1b2c974
Rebase and resolve conflict
ZequanWu Oct 30, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions clang/lib/CodeGen/BackendUtil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Passes/StandardInstrumentations.h"
#include "llvm/ProfileData/InstrProfCorrelator.h"
#include "llvm/Support/BuryPointer.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/MemoryBuffer.h"
Expand All @@ -55,6 +56,7 @@
#include "llvm/Target/TargetOptions.h"
#include "llvm/TargetParser/SubtargetFeature.h"
#include "llvm/TargetParser/Triple.h"
#include "llvm/Transforms/HipStdPar/HipStdPar.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this include used?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not added. It's reordered by git-clang-format.

#include "llvm/Transforms/IPO/EmbedBitcodePass.h"
#include "llvm/Transforms/IPO/LowerTypeTests.h"
#include "llvm/Transforms/IPO/ThinLTOBitcodeWriter.h"
Expand All @@ -78,7 +80,6 @@
#include "llvm/Transforms/Scalar/EarlyCSE.h"
#include "llvm/Transforms/Scalar/GVN.h"
#include "llvm/Transforms/Scalar/JumpThreading.h"
#include "llvm/Transforms/HipStdPar/HipStdPar.h"
#include "llvm/Transforms/Utils/Debugify.h"
#include "llvm/Transforms/Utils/EntryExitInstrumenter.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
Expand All @@ -98,13 +99,18 @@ extern cl::opt<bool> PrintPipelinePasses;
static cl::opt<bool> ClSanitizeOnOptimizerEarlyEP(
"sanitizer-early-opt-ep", cl::Optional,
cl::desc("Insert sanitizers on OptimizerEarlyEP."), cl::init(false));
}

extern cl::opt<bool> DebugInfoCorrelate;
extern cl::opt<InstrProfCorrelator::ProfCorrelatorKind> ProfileCorrelate;
} // namespace llvm

namespace {

// Default filename used for profile generation.
std::string getDefaultProfileGenName() {
return DebugInfoCorrelate ? "default_%m.proflite" : "default_%m.profraw";
return DebugInfoCorrelate || ProfileCorrelate != InstrProfCorrelator::NONE
? "default_%m.proflite"
: "default_%m.profraw";
}

class EmitAssemblyHelper {
Expand Down Expand Up @@ -197,7 +203,7 @@ class EmitAssemblyHelper {
void EmitAssembly(BackendAction Action,
std::unique_ptr<raw_pwrite_stream> OS);
};
}
} // namespace

static SanitizerCoverageOptions
getSancovOptsFromCGOpts(const CodeGenOptions &CGOpts) {
Expand Down
4 changes: 4 additions & 0 deletions compiler-rt/lib/profile/InstrProfiling.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,7 @@ COMPILER_RT_VISIBILITY void __llvm_profile_reset_counters(void) {
}
lprofSetProfileDumped(0);
}

inline int hasCorrelation() {
return (__llvm_profile_get_version() & VARIANT_MASK_DBG_CORRELATE) != 0ULL;
}
6 changes: 6 additions & 0 deletions compiler-rt/lib/profile/InstrProfiling.h
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,9 @@ uint64_t __llvm_profile_get_magic(void);
/*! \brief Get the version of the file format. */
uint64_t __llvm_profile_get_version(void);

/*! \brief If the binary is compiled with profile correlation. */
int hasCorrelation();

/*! \brief Get the number of entries in the profile data section. */
uint64_t __llvm_profile_get_num_data(const __llvm_profile_data *Begin,
const __llvm_profile_data *End);
Expand All @@ -276,6 +279,9 @@ uint64_t __llvm_profile_get_num_counters(const char *Begin, const char *End);
/*! \brief Get the size of the profile counters section in bytes. */
uint64_t __llvm_profile_get_counters_size(const char *Begin, const char *End);

/*! \brief Get the size of the profile name section in bytes. */
uint64_t __llvm_profile_get_name_size(const char *Begin, const char *End);

/* ! \brief Given the sizes of the data and counter information, return the
* number of padding bytes before and after the counters, and after the names,
* in the raw profile.
Expand Down
11 changes: 11 additions & 0 deletions compiler-rt/lib/profile/InstrProfilingBuffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ uint64_t __llvm_profile_get_size_for_buffer(void) {
COMPILER_RT_VISIBILITY
uint64_t __llvm_profile_get_num_data(const __llvm_profile_data *Begin,
const __llvm_profile_data *End) {
if (hasCorrelation())
return 0;
intptr_t BeginI = (intptr_t)Begin, EndI = (intptr_t)End;
return ((EndI + sizeof(__llvm_profile_data) - 1) - BeginI) /
sizeof(__llvm_profile_data);
Expand All @@ -61,6 +63,8 @@ uint64_t __llvm_profile_get_num_data(const __llvm_profile_data *Begin,
COMPILER_RT_VISIBILITY
uint64_t __llvm_profile_get_data_size(const __llvm_profile_data *Begin,
const __llvm_profile_data *End) {
if (hasCorrelation())
return 0;
return __llvm_profile_get_num_data(Begin, End) * sizeof(__llvm_profile_data);
}

Expand All @@ -83,6 +87,13 @@ uint64_t __llvm_profile_get_counters_size(const char *Begin, const char *End) {
__llvm_profile_counter_entry_size();
}

COMPILER_RT_VISIBILITY
uint64_t __llvm_profile_get_name_size(const char *Begin, const char *End) {
if (hasCorrelation())
return 0;
return End - Begin;
}

/// Calculate the number of padding bytes needed to add to \p Offset in order
/// for (\p Offset + Padding) to be page-aligned.
static uint64_t calculateBytesNeededToPageAlign(uint64_t Offset) {
Expand Down
11 changes: 6 additions & 5 deletions compiler-rt/lib/profile/InstrProfilingMerge.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,9 @@ int __llvm_profile_check_compatibility(const char *ProfileData,
Header->NumCounters !=
__llvm_profile_get_num_counters(__llvm_profile_begin_counters(),
__llvm_profile_end_counters()) ||
Header->NamesSize != (uint64_t)(__llvm_profile_end_names() -
__llvm_profile_begin_names()) ||
Header->NamesSize !=
__llvm_profile_get_name_size(__llvm_profile_begin_names(),
__llvm_profile_end_names()) ||
Header->ValueKindLast != IPVK_Last)
return 1;

Expand Down Expand Up @@ -130,9 +131,9 @@ int __llvm_profile_merge_from_buffer(const char *ProfileData,
if (SrcNameStart < SrcCountersStart)
return 1;

// Merge counters by iterating the entire counter section when debug info
// correlation is enabled.
if (__llvm_profile_get_version() & VARIANT_MASK_DBG_CORRELATE) {
// Merge counters by iterating the entire counter section when correlation is
// enabled.
if (hasCorrelation()) {
for (SrcCounter = SrcCountersStart,
DstCounter = __llvm_profile_begin_counters();
SrcCounter < SrcCountersEnd;) {
Expand Down
21 changes: 10 additions & 11 deletions compiler-rt/lib/profile/InstrProfilingWriter.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,19 +259,17 @@ lprofWriteDataImpl(ProfDataWriter *Writer, const __llvm_profile_data *DataBegin,
const char *CountersBegin, const char *CountersEnd,
VPDataReaderType *VPDataReader, const char *NamesBegin,
const char *NamesEnd, int SkipNameDataWrite) {
int DebugInfoCorrelate =
(__llvm_profile_get_version() & VARIANT_MASK_DBG_CORRELATE) != 0ULL;
int ProfileCorrelation = hasCorrelation();

/* Calculate size of sections. */
const uint64_t DataSectionSize =
DebugInfoCorrelate ? 0 : __llvm_profile_get_data_size(DataBegin, DataEnd);
const uint64_t NumData =
DebugInfoCorrelate ? 0 : __llvm_profile_get_num_data(DataBegin, DataEnd);
__llvm_profile_get_data_size(DataBegin, DataEnd);
const uint64_t NumData = __llvm_profile_get_num_data(DataBegin, DataEnd);
const uint64_t CountersSectionSize =
__llvm_profile_get_counters_size(CountersBegin, CountersEnd);
const uint64_t NumCounters =
__llvm_profile_get_num_counters(CountersBegin, CountersEnd);
const uint64_t NamesSize = DebugInfoCorrelate ? 0 : NamesEnd - NamesBegin;
const uint64_t NamesSize = __llvm_profile_get_name_size(NamesBegin, NamesEnd);

/* Create the header. */
__llvm_profile_header Header;
Expand All @@ -298,7 +296,7 @@ lprofWriteDataImpl(ProfDataWriter *Writer, const __llvm_profile_data *DataBegin,
#endif

/* The data and names sections are omitted in lightweight mode. */
if (DebugInfoCorrelate) {
if (ProfileCorrelation) {
Header.CountersDelta = 0;
Header.NamesDelta = 0;
}
Expand All @@ -314,19 +312,20 @@ lprofWriteDataImpl(ProfDataWriter *Writer, const __llvm_profile_data *DataBegin,

/* Write the profile data. */
ProfDataIOVec IOVecData[] = {
{DebugInfoCorrelate ? NULL : DataBegin, sizeof(uint8_t), DataSectionSize,
{ProfileCorrelation ? NULL : DataBegin, sizeof(uint8_t), DataSectionSize,
0},
{NULL, sizeof(uint8_t), PaddingBytesBeforeCounters, 1},
{CountersBegin, sizeof(uint8_t), CountersSectionSize, 0},
{NULL, sizeof(uint8_t), PaddingBytesAfterCounters, 1},
{(SkipNameDataWrite || DebugInfoCorrelate) ? NULL : NamesBegin,
{(SkipNameDataWrite || ProfileCorrelation) ? NULL : NamesBegin,
sizeof(uint8_t), NamesSize, 0},
{NULL, sizeof(uint8_t), PaddingBytesAfterNames, 1}};
if (Writer->Write(Writer, IOVecData, sizeof(IOVecData) / sizeof(*IOVecData)))
return -1;

/* Value profiling is not yet supported in continuous mode. */
if (__llvm_profile_is_continuous_mode_enabled())
/* Value profiling is not yet supported in continuous mode and profile
* correlation mode. */
if (__llvm_profile_is_continuous_mode_enabled() || ProfileCorrelation)
return 0;

return writeValueProfData(Writer, VPDataReader, DataBegin, DataEnd);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Value profiling is currently not supported in lightweight mode.
// RUN: %clang_pgogen -o %t -g -mllvm --debug-info-correlate -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: %clang_pgogen -o %t -g -mllvm --profile-correlate=debug-info -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: env LLVM_PROFILE_FILE=%t.proflite %run %t
// RUN: llvm-profdata merge -o %t.profdata --debug-info=%t.dSYM %t.proflite

Expand All @@ -9,7 +9,7 @@

// RUN: diff <(llvm-profdata show --all-functions --counts %t.normal.profdata) <(llvm-profdata show --all-functions --counts %t.profdata)

// RUN: %clang_pgogen -o %t.cov -g -mllvm --debug-info-correlate -mllvm -pgo-function-entry-coverage -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: %clang_pgogen -o %t.cov -g -mllvm --profile-correlate=debug-info -mllvm -pgo-function-entry-coverage -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: env LLVM_PROFILE_FILE=%t.cov.proflite %run %t.cov
// RUN: llvm-profdata merge -o %t.cov.profdata --debug-info=%t.cov.dSYM %t.cov.proflite

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Disable full debug info and verify that we get warnings during merging

// RUN: %clang_pgogen -o %t -gline-tables-only -mllvm --debug-info-correlate -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: %clang_pgogen -o %t -gline-tables-only -mllvm --profile-correlate=debug-info -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: env LLVM_PROFILE_FILE=%t.proflite %run %t
// RUN: llvm-profdata merge -o %t.profdata --debug-info=%t %t.proflite --max-debug-info-correlation-warnings=2 2>&1 >/dev/null | FileCheck %s --check-prefixes=CHECK,LIMIT --implicit-check-not=warning
// RUN: llvm-profdata merge -o %t.profdata --debug-info=%t %t.proflite --max-debug-info-correlation-warnings=0 2>&1 >/dev/null | FileCheck %s --check-prefixes=CHECK,NOLIMIT --implicit-check-not=warning
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
// RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t.normal
// RUN: llvm-profdata merge -o %t.normal.profdata %t.profraw

// RUN: %clang_pgogen -o %t.d4 -g -gdwarf-4 -mllvm --debug-info-correlate -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: %clang_pgogen -o %t.d4 -g -gdwarf-4 -mllvm --profile-correlate=debug-info -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: env LLVM_PROFILE_FILE=%t.d4.proflite %run %t.d4
// RUN: llvm-profdata merge -o %t.d4.profdata --debug-info=%t.d4 %t.d4.proflite

// RUN: diff <(llvm-profdata show --all-functions --counts %t.normal.profdata) <(llvm-profdata show --all-functions --counts %t.d4.profdata)

// RUN: %clang_pgogen -o %t -g -mllvm --debug-info-correlate -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: %clang_pgogen -o %t -g -mllvm --profile-correlate=debug-info -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: env LLVM_PROFILE_FILE=%t.proflite %run %t
// RUN: llvm-profdata merge -o %t.profdata --debug-info=%t %t.proflite

// RUN: diff <(llvm-profdata show --all-functions --counts %t.normal.profdata) <(llvm-profdata show --all-functions --counts %t.profdata)

// RUN: %clang_pgogen -o %t.cov -g -mllvm --debug-info-correlate -mllvm -pgo-function-entry-coverage -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: %clang_pgogen -o %t.cov -g -mllvm --profile-correlate=debug-info -mllvm -pgo-function-entry-coverage -mllvm --disable-vp=true %S/../Inputs/instrprof-debug-info-correlate-main.cpp %S/../Inputs/instrprof-debug-info-correlate-foo.cpp
// RUN: env LLVM_PROFILE_FILE=%t.cov.proflite %run %t.cov
// RUN: llvm-profdata merge -o %t.cov.profdata --debug-info=%t.cov %t.cov.proflite

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// RUN: %clang_pgogen -o %t -g -mllvm --debug-info-correlate -mllvm --disable-vp=true %s
// RUN: %clang_pgogen -o %t -g -mllvm --profile-correlate=debug-info -mllvm --disable-vp=true %s
// RUN: llvm-profdata show --debug-info=%t --detailed-summary --show-prof-sym-list | FileCheck %s
// RUN: llvm-profdata show --debug-info=%t --show-format=yaml | FileCheck %s --match-full-lines --check-prefix YAML

// RUN: %clang_pgogen -o %t.no.dbg -mllvm --debug-info-correlate -mllvm --disable-vp=true %s
// RUN: %clang_pgogen -o %t.no.dbg -mllvm --profile-correlate=debug-info -mllvm --disable-vp=true %s
// RUN: not llvm-profdata show --debug-info=%t.no.dbg 2>&1 | FileCheck %s --check-prefix NO-DBG
// NO-DBG: unable to correlate profile: could not find any profile metadata in debug info
// NO-DBG: unable to correlate profile: could not find any profile data metadata in correlated file

// YAML: Probes:
// YAML: - Function Name: a
Expand Down
4 changes: 2 additions & 2 deletions llvm/docs/CommandGuide/llvm-profdata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ OPTIONS
.. option:: --debug-info=<path>

Specify the executable or ``.dSYM`` that contains debug info for the raw profile.
When ``-debug-info-correlate`` was used for instrumentation, use this option
When ``-profile-correlate=debug-info`` was used for instrumentation, use this option
to correlate the raw profile.

.. option:: --temporal-profile-trace-reservoir-size
Expand Down Expand Up @@ -346,7 +346,7 @@ OPTIONS
.. option:: --debug-info=<path>

Specify the executable or ``.dSYM`` that contains debug info for the raw profile.
When ``-debug-info-correlate`` was used for instrumentation, use this option
When ``-profile-correlate=debug-info`` was used for instrumentation, use this option
to show the correlated functions from the raw profile.

.. option:: --covered
Expand Down
13 changes: 10 additions & 3 deletions llvm/include/llvm/ProfileData/InstrProfCorrelator.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,11 @@ class ObjectFile;
/// to their functions.
class InstrProfCorrelator {
public:
/// Indicate which kind correlator to use.
enum ProfCorrelatorKind { NONE, DEBUG_INFO };

static llvm::Expected<std::unique_ptr<InstrProfCorrelator>>
get(StringRef DebugInfoFilename);
get(StringRef Filename, ProfCorrelatorKind FileKind);

/// Construct a ProfileData vector used to correlate raw instrumentation data
/// to their functions.
Expand Down Expand Up @@ -104,7 +107,7 @@ class InstrProfCorrelator {

private:
static llvm::Expected<std::unique_ptr<InstrProfCorrelator>>
get(std::unique_ptr<MemoryBuffer> Buffer);
get(std::unique_ptr<MemoryBuffer> Buffer, ProfCorrelatorKind FileKind);

const InstrProfCorrelatorKind Kind;
};
Expand All @@ -128,7 +131,7 @@ class InstrProfCorrelatorImpl : public InstrProfCorrelator {

static llvm::Expected<std::unique_ptr<InstrProfCorrelatorImpl<IntPtrT>>>
get(std::unique_ptr<InstrProfCorrelator::Context> Ctx,
const object::ObjectFile &Obj);
const object::ObjectFile &Obj, ProfCorrelatorKind FileKind);

protected:
std::vector<RawInstrProf::ProfileData<IntPtrT>> Data;
Expand All @@ -138,6 +141,8 @@ class InstrProfCorrelatorImpl : public InstrProfCorrelator {
int MaxWarnings,
InstrProfCorrelator::CorrelationData *Data = nullptr) = 0;

virtual Error correlateProfileNameImpl() = 0;

Error dumpYaml(int MaxWarnings, raw_ostream &OS) override;

void addProbe(StringRef FunctionName, uint64_t CFGHash, IntPtrT CounterOffset,
Expand Down Expand Up @@ -205,6 +210,8 @@ class DwarfInstrProfCorrelator : public InstrProfCorrelatorImpl<IntPtrT> {
void correlateProfileDataImpl(
int MaxWarnings,
InstrProfCorrelator::CorrelationData *Data = nullptr) override;

Error correlateProfileNameImpl() override;
};

} // end namespace llvm
Expand Down
2 changes: 2 additions & 0 deletions llvm/include/llvm/ProfileData/InstrProfReader.h
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,8 @@ class RawInstrProfReader : public InstrProfReader {
return (Version & VARIANT_MASK_DBG_CORRELATE) != 0;
}

bool useCorrelate() const { return useDebugInfoCorrelate(); }

bool hasSingleByteCoverage() const override {
return (Version & VARIANT_MASK_BYTE_COVERAGE) != 0;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@

namespace llvm {

extern cl::opt<bool> DebugInfoCorrelate;

class Function;
class Instruction;
class Module;
Expand Down
Loading
Loading