Home
last modified time | relevance | path

Searched refs:JT (Results 1 – 25 of 70) sorted by relevance

123

/llvm-project-15.0.7/bolt/lib/Core/
H A DBinaryFunctionProfile.cpp159 JumpTable *JT = getJumpTableContainingAddress(JTAddress); in postProcessProfile() local
160 if (!JT) in postProcessProfile()
168 JT->Count += TotalBranchCount; in postProcessProfile()
173 if (JT->Counts.empty()) in postProcessProfile()
174 JT->Counts.resize(JT->Entries.size()); in postProcessProfile()
175 auto EI = JT->Entries.begin(); in postProcessProfile()
176 uint64_t Delta = (JTAddress - JT->getAddress()) / JT->EntrySize; in postProcessProfile()
178 while (EI != JT->Entries.end()) { in postProcessProfile()
183 assert(Delta < JT->Counts.size()); in postProcessProfile()
184 JT->Counts[Delta].Count += BranchInfo.Count; in postProcessProfile()
[all …]
H A DBinaryEmitter.cpp719 JumpTable &JT = *JTI.second; in emitJumpTables() local
721 JT.print(outs()); in emitJumpTables()
724 JT.updateOriginal(); in emitJumpTables()
736 JT.setOutputSection(Section); in emitJumpTables()
763 auto LI = JT.Labels.find(Index * JT.EntrySize); in emitJumpTable()
764 if (LI != JT.Labels.end()) { in emitJumpTable()
778 for (MCSymbol *Entry : JT.Entries) { in emitJumpTable()
779 auto LI = JT.Labels.find(Offset); in emitJumpTable()
780 if (LI != JT.Labels.end()) { in emitJumpTable()
798 if (JT.Type == JumpTable::JTT_NORMAL) { in emitJumpTable()
[all …]
H A DBinaryContext.cpp641 analyzeJumpTable(JT->getAddress(), JT->Type, *(JT->Parents[0]), in populateJumpTables()
650 JT->print(dbgs()); in populateJumpTables()
680 Address < JT->getAddress() + JT->getSize(); in populateJumpTables()
780 if (JT->Parents.size() == 1 && JT->Parents[0] != &Function) { in getOrCreateJumpTable()
791 JT->print(outs()); in getOrCreateJumpTable()
804 return JT->getFirstLabel(); in getOrCreateJumpTable()
828 JT->print(outs()); in getOrCreateJumpTable()
853 new JumpTable(*NewLabel, JT->getAddress(), JT->EntrySize, JT->Type, in duplicateJumpTable()
856 NewJT->Parents = JT->Parents; in duplicateJumpTable()
857 NewJT->Entries = JT->Entries; in duplicateJumpTable()
[all …]
H A DBinaryBasicBlock.cpp44 const JumpTable *JT = Inst ? Function->getJumpTable(*Inst) : nullptr; in getJumpTable() local
45 return JT; in getJumpTable()
75 const JumpTable *JT = Inst ? Function->getJumpTable(*Inst) : nullptr; in validateSuccessorInvariants() local
79 if (JT) { in validateSuccessorInvariants()
85 std::next(JT->Entries.begin(), Range.first), in validateSuccessorInvariants()
86 std::next(JT->Entries.begin(), Range.second)); in validateSuccessorInvariants()
147 if (JT) { in validateSuccessorInvariants()
150 JT->print(errs()); in validateSuccessorInvariants()
356 const JumpTable *JT = getJumpTable(); in updateJumpTableSuccessors() local
357 assert(JT && "Expected jump table instruction."); in updateJumpTableSuccessors()
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/SampleProfile/
H A Dpseudo-probe-dangle.ll3 ; RUN: FileCheck %s < %t --check-prefix=JT
12 ; JT-LABEL: @foo(
13 ; JT: call void @llvm.pseudoprobe(i64 [[#GUID:]], i64 1, i32 0, i64 -1)
23 ; JT-LABEL-NO: T
24 ; JT-LABEL-NO: F
25 ; JT-LABEL: Merge
26 ; JT-NOT: call void @llvm.pseudoprobe(i64 [[#GUID:]], i64 3
27 ; JT-NOT: call void @llvm.pseudoprobe(i64 [[#GUID:]], i64 2
28 ; JT: call void @llvm.pseudoprobe(i64 [[#GUID:]], i64 4, i32 0, i64 -1)
/llvm-project-15.0.7/llvm/test/Transforms/LowerTypeTests/
H A Dfunction-weak.ll36 ; CHECK: ret i1 icmp ne (void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT:.…
55 ; X86: define private void @[[JT]]() #{{.*}} align 8 {
56 ; ARM: define private void @[[JT]]() #{{.*}} align 4 {
57 ; RISCV: define private void @[[JT]]() #{{.*}} align 8 {
61 ; CHECK-NEXT: store void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], voi…
62 ; CHECK-NEXT: store void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], voi…
63 ; CHECK-NEXT: store void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], voi…
64 …ast (void ()* select (i1 icmp ne (void ()* @f, void ()* null), void ()* @[[JT]], void ()* null) to…
65 … void ()* null), void ()* @[[JT]], void ()* null), void ()* select (i1 icmp ne (void ()* @f, void …
H A Dfunction.ll23 ; NATIVE: @f = alias void (), void ()* @[[JT:.*]]
25 …telementptr inbounds ([2 x [8 x i8]], [2 x [8 x i8]]* bitcast (void ()* @[[JT]] to [2 x [8 x i8]]*…
26 …telementptr inbounds ([2 x [4 x i8]], [2 x [4 x i8]]* bitcast (void ()* @[[JT]] to [2 x [4 x i8]]*…
27 …telementptr inbounds ([2 x [4 x i8]], [2 x [4 x i8]]* bitcast (void ()* @[[JT]] to [2 x [4 x i8]]*…
28 …telementptr inbounds ([2 x [8 x i8]], [2 x [8 x i8]]* bitcast (void ()* @[[JT]] to [2 x [8 x i8]]*…
47 ; NATIVE: sub i64 {{.*}}, ptrtoint (void ()* @[[JT]] to i64)
54 ; X86-LINUX: define private void @[[JT]]() #[[ATTR:.*]] align 8 {
55 ; X86-WIN32: define private void @[[JT]]() #[[ATTR:.*]] align 8 {
56 ; ARM: define private void @[[JT]]() #[[ATTR:.*]] align 4 {
57 ; THUMB: define private void @[[JT]]() #[[ATTR:.*]] align 4 {
[all …]
H A Dsection.ll8 ; CHECK: @f = alias void (), void ()* @[[JT:.*]]
22 ; CHECK: define private void @[[JT]]() #{{.*}} align {{.*}} {
H A Daarch64-jumptable.ll9 ; AARCH64: @f = alias void (), void ()* @[[JT:.*]]
32 ; AARCH64: define private void @[[JT]]() #[[ATTR:.*]] align 8 {
H A Dfunction-ext.ll31 ; X64: ret void ()* @[[JT:.*]]
40 ; X64: define private void @[[JT]]() #{{.*}} align {{.*}} {
/llvm-project-15.0.7/bolt/lib/Passes/
H A DAsmDump.cpp61 const JumpTable *JT = BF.getJumpTable(Instr); in dumpJumpTableFdata() local
62 for (uint32_t i = 0; i < JT->Entries.size(); ++i) { in dumpJumpTableFdata()
63 StringRef TargetName = JT->Entries[i]->getName(); in dumpJumpTableFdata()
64 const uint64_t Mispreds = JT->Counts[i].Mispreds; in dumpJumpTableFdata()
65 const uint64_t Count = JT->Counts[i].Count; in dumpJumpTableFdata()
103 if (&JT->getSection() != LastBS) { in dumpJumpTableSymbols()
104 OS << ".section " << JT->getSectionName() << '\n'; in dumpJumpTableSymbols()
105 LastBS = &JT->getSection(); in dumpJumpTableSymbols()
107 OS << "\"" << JT->getName() << "\":\n"; in dumpJumpTableSymbols()
108 for (MCSymbol *JTEntry : JT->Entries) in dumpJumpTableSymbols()
[all …]
H A DIndirectCallPromotion.cpp242 if (const JumpTable *JT = BF.getJumpTable(Inst)) { in getCallTargets() local
248 JT->getEntriesForAddress(BC.MIB->getJumpTable(Inst)); in getCallTargets()
249 assert(JT->Counts.empty() || JT->Counts.size() >= Range.second); in getCallTargets()
252 JT->Counts.empty() ? &DefaultJI : &JT->Counts[Range.first]; in getCallTargets()
253 const size_t JIAdj = JT->Counts.empty() ? 0 : 1; in getCallTargets()
254 assert(JT->Type == JumpTable::JTT_PIC || in getCallTargets()
257 MCSymbol *Entry = JT->Entries[I]; in getCallTargets()
463 (AccessInfo.Offset - (ArrayStart - JT->getAddress())) / JT->EntrySize; in maybeGetHotJumpTableTargets()
483 JT->print(dbgs()); in maybeGetHotJumpTableTargets()
495 HotTargetMap[JT->Entries[Index + Range.first]]; in maybeGetHotJumpTableTargets()
[all …]
H A DJTFootprintReduction.cpp117 JumpTable *JT = JTFreq.first; in checkOpportunities() local
120 if (!BlacklistedJTs.count(JT)) { in checkOpportunities()
122 if (JT->EntrySize == 8) in checkOpportunities()
123 BytesSaved += JT->getSize() >> 1; in checkOpportunities()
/llvm-project-15.0.7/llvm/test/CodeGen/AArch64/
H A Djump-table.ll17 ; CHECK: add x[[JT:[0-9]+]], [[JTPAGE]], {{#?}}:lo12:.LJTI0_0
19 ; CHECK: ldrb w[[OFFSET:[0-9]+]], [x[[JT]], {{x[0-9]+}}]
34 ; CHECK-PIC: add x[[JT:[0-9]+]], [[JTPAGE]], {{#?}}:lo12:.LJTI0_0
36 ; CHECK-PIC: ldrb w[[OFFSET:[0-9]+]], [x[[JT]], {{x[0-9]+}}]
41 ; CHECK-IOS: add x[[JT:[0-9]+]], [[JTPAGE]], LJTI0_0@PAGEOFF
43 ; CHECK-IOS: ldrb w[[OFFSET:[0-9]+]], [x[[JT]], {{x[0-9]+}}]
48 ; CHECK-TINY: adr x[[JT:[0-9]+]], .LJTI0_0
50 ; CHECK-TINY: ldrb w[[OFFSET:[0-9]+]], [x[[JT]], {{x[0-9]+}}]
91 ; CHECK: add x[[JT:[0-9]+]], [[JTPAGE]], {{#?}}:lo12:.LJTI1_0
93 ; CHECK: ldrh w[[OFFSET:[0-9]+]], [x[[JT]], {{x[0-9]+}}, lsl #1]
H A Djump-table-exynos.ll15 ; CHECK: add x[[JT:[0-9]+]], [[JTPAGE]], {{#?}}:lo12:.LJTI0_0
18 ; CHECK: ldrsw x[[OFFSET:[0-9]+]], [x[[JT]], {{x[0-9]+}}, lsl #2]
52 ; CHECK: add x[[JT:[0-9]+]], [[JTPAGE]], {{#?}}:lo12:.LJTI1_0
54 ; CHECK: ldrb w[[OFFSET:[0-9]+]], [x[[JT]], {{x[0-9]+}}]
H A Djump-table-32.ll15 ; CHECK: add x[[JT:[0-9]+]], [[JTPAGE]], LJTI0_0@PAGEOFF
17 ; CHECK: ldrb w[[OFFSET:[0-9]+]], [x[[JT]], x[[INDEX]]]
/llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/
H A Dmcm-obj.ll8 ; RUN: llvm-readobj -r - | FileCheck -check-prefix=MEDIUM-JT %s
10 ; RUN: llvm-readobj -r - | FileCheck -check-prefix=LARGE-JT %s
187 ; MEDIUM-JT: Relocations [
188 ; MEDIUM-JT: Section ({{.*}}) .rela.text {
189 ; MEDIUM-JT-NEXT: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_HA [[SYM:[^ ]+]]
190 ; MEDIUM-JT-NEXT: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO_DS [[SYM]]
192 ; LARGE-JT: Relocations [
193 ; LARGE-JT: Section ({{.*}}) .rela.text {
194 ; LARGE-JT-NEXT: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_HA [[SYM:[^ ]+]]
195 ; LARGE-JT-NEXT: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO_DS [[SYM]]
/llvm-project-15.0.7/llvm/test/CodeGen/X86/
H A Dswitch-jump-table.ll2 …nu-linux -print-after=finalize-isel %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=CHECK-JT-PROB
57 ; CHECK-JT-PROB-LABEL: bar:
58 ; CHECK-JT-PROB: successors: %bb.6(0x12492492), %bb.8(0x6db6db6e)
59 ; CHECK-JT-PROB: successors: %bb.1(0x15555555), %bb.2(0x15555555), %bb.3(0x15555555), %bb.4(0x15555…
/llvm-project-15.0.7/llvm/lib/Target/MSP430/
H A DMSP430ISelDAGToDAG.cpp51 int JT = -1; member
57 return GV != nullptr || CP != nullptr || ES != nullptr || JT != -1; in hasSymbolicDisplacement()
80 } else if (JT != -1) in dump()
81 errs() << " JT" << JT << " Align" << Alignment.value() << '\n'; in dump()
155 AM.JT = J->getIndex(); in MatchWrapper()
269 else if (AM.JT != -1) in SelectAddr()
270 Disp = CurDAG->getTargetJumpTable(AM.JT, MVT::i16, 0/*AM.SymbolFlags*/); in SelectAddr()
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DAArch64CompressJumpTables.cpp115 const MachineJumpTableEntry &JT = JTInfo.getJumpTables()[JTIdx]; in compressJumpTable() local
118 if (JT.MBBs.empty()) in compressJumpTable()
124 for (auto *Block : JT.MBBs) { in compressJumpTable()
/llvm-project-15.0.7/bolt/test/X86/
H A Dshrinkwrapping-critedge.s25 jmp *JT(,%rbx,8)
32 JT: label
H A Dtail-duplication-prop-bug.s17 jmpq *JT(,%rcx,8)
42 JT: label
H A Dshrinkwrapping-mov.s37 jmp *JT(,%rdi,8)
52 JT: label
/llvm-project-15.0.7/bolt/test/runtime/X86/
H A Dinstrumentation-dup-jts.s3 # each indirect jump that uses a JT will have its own copy of it. When
9 # cloned JT.
/llvm-project-15.0.7/llvm/test/Transforms/NewGVN/
H A Dpair_jumpthread.ll3 ; RUN: opt < %s -newgvn -jump-threading -S | FileCheck --check-prefix=CHECK-JT %s
23 ; CHECK-JT-LABEL: @testBI(
24 ; CHECK-JT: _ZL6calleei.exit.thread:
82 ; CHECK-JT-LABEL: @testIB(
83 ; CHECK-JT: _ZL6calleei.exit.thread:

123