HomeSort by: relevance | last modified time | path
    Searched refs:Hexagon (Results 1 - 25 of 64) sorted by relevancy

1 2 3

  /src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/
HexagonDepTimingClasses.h 21 case Hexagon::Sched::tc_112d30d6:
22 case Hexagon::Sched::tc_151bf368:
23 case Hexagon::Sched::tc_1c2c7a4a:
24 case Hexagon::Sched::tc_1d41f8b7:
25 case Hexagon::Sched::tc_23708a21:
26 case Hexagon::Sched::tc_24f426ab:
27 case Hexagon::Sched::tc_2f573607:
28 case Hexagon::Sched::tc_388f9897:
29 case Hexagon::Sched::tc_3d14a17b:
30 case Hexagon::Sched::tc_3fbf1042
    [all...]
HexagonRegisterInfo.cpp 1 //===-- HexagonRegisterInfo.cpp - Hexagon Register Information ------------===//
9 // This file contains the Hexagon implementation of the TargetRegisterInfo
15 #include "Hexagon.h"
48 "hexagon-frame-index-search-range", cl::init(32), cl::Hidden,
52 "hexagon-frame-index-reuse-limit", cl::init(~0), cl::Hidden,
57 : HexagonGenRegisterInfo(Hexagon::R31, 0/*DwarfFlavor*/, 0/*EHFlavor*/,
62 return R == Hexagon::R0 || R == Hexagon::R1 || R == Hexagon::R2 ||
63 R == Hexagon::R3 || R == Hexagon::D0 || R == Hexagon::D1
    [all...]
HexagonInstrInfo.cpp 1 //===- HexagonInstrInfo.cpp - Hexagon Instruction Information -------------===//
9 // This file contains the Hexagon implementation of the TargetInstrInfo class.
14 #include "Hexagon.h"
64 #define DEBUG_TYPE "hexagon-instrinfo"
72 cl::opt<bool> ScheduleInlineAsm("hexagon-sched-inline-asm", cl::Hidden,
76 static cl::opt<bool> EnableBranchPrediction("hexagon-enable-branch-prediction",
79 static cl::opt<bool> DisableNVSchedule("disable-hexagon-nv-schedule",
102 /// Constants for Hexagon instructions.
118 : HexagonGenInstrInfo(Hexagon::ADJCALLSTACKDOWN, Hexagon::ADJCALLSTACKUP)
    [all...]
HexagonAsmPrinter.cpp 1 //===- HexagonAsmPrinter.cpp - Print machine instrs to Hexagon assembly ---===//
10 // of machine-dependent LLVM code to Hexagon assembly language. This printer is
16 #include "Hexagon.h"
68 assert(Hexagon::IntRegsRegClass.contains(Reg));
71 assert(Hexagon::DoubleRegsRegClass.contains(Pair));
135 if (Hexagon::DoubleRegsRegClass.contains(RegNumber))
137 Hexagon::isub_lo :
138 Hexagon::isub_hi);
271 unsigned VectorSize = HRI.getRegSizeInBits(Hexagon::HvxVRRegClass) / 8;
277 case Hexagon::A2_iconst:
    [all...]
HexagonNewValueJump.cpp 1 //===- HexagonNewValueJump.cpp - Hexagon Backend New Value Jump -----------===//
9 // This implements NewValueJump pass in Hexagon.
24 #include "Hexagon.h"
55 #define DEBUG_TYPE "hexagon-nvj"
86 StringRef getPassName() const override { return "Hexagon NewValueJump"; }
109 INITIALIZE_PASS_BEGIN(HexagonNewValueJump, "hexagon-nvj",
110 "Hexagon NewValueJump", false, false)
112 INITIALIZE_PASS_END(HexagonNewValueJump, "hexagon-nvj",
113 "Hexagon NewValueJump", false, false)
157 if (!Hexagon::IntRegsRegClass.contains(Op.getReg())
    [all...]
HexagonCFGOptimizer.cpp 9 #include "Hexagon.h"
49 StringRef getPassName() const override { return "Hexagon CFG Optimizer"; }
64 case Hexagon::J2_jumpt:
65 case Hexagon::J2_jumptpt:
66 case Hexagon::J2_jumpf:
67 case Hexagon::J2_jumpfpt:
68 case Hexagon::J2_jumptnew:
69 case Hexagon::J2_jumpfnew:
70 case Hexagon::J2_jumptnewpt:
71 case Hexagon::J2_jumpfnewpt
    [all...]
HexagonSubtarget.h 1 //===- HexagonSubtarget.h - Define Subtarget for the Hexagon ----*- C++ -*-===//
9 // This file declares the Hexagon specific subclass of TargetSubtarget.
66 Hexagon::ArchEnum HexagonArchVersion;
67 Hexagon::ArchEnum HexagonHVXVersion = Hexagon::ArchEnum::NoArch;
141 return getHexagonArchVersion() >= Hexagon::ArchEnum::V5;
144 return getHexagonArchVersion() == Hexagon::ArchEnum::V5;
147 return getHexagonArchVersion() >= Hexagon::ArchEnum::V55;
150 return getHexagonArchVersion() == Hexagon::ArchEnum::V55;
153 return getHexagonArchVersion() >= Hexagon::ArchEnum::V60
    [all...]
HexagonVectorPrint.cpp 37 #define DEBUG_TYPE "hexagon-vector-print"
64 StringRef getPassName() const override { return "Hexagon VectorPrint pass"; }
74 return (Reg >= Hexagon::V0 && Reg <= Hexagon::V31) ||
75 (Reg >= Hexagon::W0 && Reg <= Hexagon::W15) ||
76 (Reg >= Hexagon::WR0 && Reg <= Hexagon::WR15) ||
77 (Reg >= Hexagon::Q0 && Reg <= Hexagon::Q3)
    [all...]
HexagonDepArch.h 23 namespace Hexagon {
39 {"generic", Hexagon::ArchEnum::V5},
40 {"hexagonv5", Hexagon::ArchEnum::V5},
41 {"hexagonv55", Hexagon::ArchEnum::V55},
42 {"hexagonv60", Hexagon::ArchEnum::V60},
43 {"hexagonv62", Hexagon::ArchEnum::V62},
44 {"hexagonv65", Hexagon::ArchEnum::V65},
45 {"hexagonv66", Hexagon::ArchEnum::V66},
46 {"hexagonv67", Hexagon::ArchEnum::V67},
47 {"hexagonv67t", Hexagon::ArchEnum::V67}
    [all...]
HexagonConstExtenders.cpp 27 #define DEBUG_TYPE "hexagon-cext-opt"
31 static cl::opt<unsigned> CountThreshold("hexagon-cext-threshold",
35 static cl::opt<unsigned> ReplaceLimit("hexagon-cext-limit", cl::init(0),
225 return "Hexagon constant-extender optimization";
568 INITIALIZE_PASS_BEGIN(HexagonConstExtenders, "hexagon-cext-opt",
569 "Hexagon constant-extender optimization", false, false)
571 INITIALIZE_PASS_END(HexagonConstExtenders, "hexagon-cext-opt",
572 "Hexagon constant-extender optimization", false, false)
799 case Hexagon::S4_storeirbt_io:
800 case Hexagon::S4_storeirbf_io
    [all...]
HexagonGenPredicate.cpp 92 return "Hexagon generate predicate operations";
131 INITIALIZE_PASS_BEGIN(HexagonGenPredicate, "hexagon-gen-pred",
132 "Hexagon generate predicate operations", false, false)
134 INITIALIZE_PASS_END(HexagonGenPredicate, "hexagon-gen-pred",
135 "Hexagon generate predicate operations", false, false)
141 return RC == &Hexagon::PredRegsRegClass;
145 using namespace Hexagon;
198 case Hexagon::C2_cmpeqi:
199 case Hexagon::C4_cmpneqi:
214 case Hexagon::C2_tfrpr
    [all...]
HexagonMachineFunctionInfo.h 1 //=- HexagonMachineFunctionInfo.h - Hexagon machine function info -*- C++ -*-=//
17 namespace Hexagon {
22 } // end namespace Hexagon
24 /// Hexagon target-specific information for each MachineFunction.
62 PacketInfo[MI] |= Hexagon::StartPacket;
65 PacketInfo[MI] |= Hexagon::EndPacket;
69 (PacketInfo.find(MI)->second & Hexagon::StartPacket));
73 (PacketInfo.find(MI)->second & Hexagon::EndPacket));
HexagonFixupHwLoops.cpp 14 #include "Hexagon.h"
28 "hexagon-loop-range", cl::Hidden, cl::init(200),
53 return "Hexagon Hardware Loop Fixup";
77 "Hexagon Hardware Loops Fixup", false, false)
85 return MI.getOpcode() == Hexagon::J2_loop0r ||
86 MI.getOpcode() == Hexagon::J2_loop0i ||
87 MI.getOpcode() == Hexagon::J2_loop1r ||
88 MI.getOpcode() == Hexagon::J2_loop1i;
97 /// For Hexagon, if the loop label is to far from the
176 case Hexagon::J2_loop0r
    [all...]
HexagonFrameLowering.h 1 //==- HexagonFrameLowering.h - Define frame lowering for Hexagon -*- C++ -*-==//
12 #include "Hexagon.h"
93 { Hexagon::R17, -4 }, { Hexagon::R16, -8 }, { Hexagon::D8, -8 },
94 { Hexagon::R19, -12 }, { Hexagon::R18, -16 }, { Hexagon::D9, -16 },
95 { Hexagon::R21, -20 }, { Hexagon::R20, -24 }, { Hexagon::D10, -24 }
    [all...]
HexagonSplitConst32AndConst64.cpp 46 return "Hexagon Split Const32s and Const64s";
59 "Hexagon Split Const32s and Const64s", false, false)
78 if (Opc == Hexagon::CONST32) {
82 BuildMI(B, MI, DL, TII->get(Hexagon::A2_tfrsi), DestReg)
85 } else if (Opc == Hexagon::CONST64) {
89 Register DestLo = TRI->getSubReg(DestReg, Hexagon::isub_lo);
90 Register DestHi = TRI->getSubReg(DestReg, Hexagon::isub_hi);
95 BuildMI(B, MI, DL, TII->get(Hexagon::A2_tfrsi), DestLo)
97 BuildMI(B, MI, DL, TII->get(Hexagon::A2_tfrsi), DestHi)
HexagonVExtract.cpp 12 #include "Hexagon.h"
30 static cl::opt<unsigned> VExtractThreshold("hexagon-vextract-threshold",
46 return "Hexagon optimize vextract";
64 INITIALIZE_PASS(HexagonVExtract, "hexagon-vextract",
65 "Hexagon optimize vextract", false, false)
71 Register ElemR = MRI.createVirtualRegister(&Hexagon::IntRegsRegClass);
79 if (DI->getOpcode() == Hexagon::A2_tfrsi) {
83 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::L2_loadri_io), ElemR)
90 Register IdxR = MRI.createVirtualRegister(&Hexagon::IntRegsRegClass);
91 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::A2_andir), IdxR
    [all...]
HexagonRDFOpt.cpp 68 return "Hexagon RDF optimizations";
105 INITIALIZE_PASS_BEGIN(HexagonRDFOpt, "hexagon-rdf-opt",
106 "Hexagon RDF optimizations", false, false)
109 INITIALIZE_PASS_END(HexagonRDFOpt, "hexagon-rdf-opt",
110 "Hexagon RDF optimizations", false, false)
120 case Hexagon::A2_combinew: {
125 mapRegs(DFG.makeRegRef(DstOp.getReg(), Hexagon::isub_hi),
127 mapRegs(DFG.makeRegRef(DstOp.getReg(), Hexagon::isub_lo),
131 case Hexagon::A2_addi: {
137 case Hexagon::A2_tfr:
    [all...]
HexagonCopyToCombine.cpp 1 //===------- HexagonCopyToCombine.cpp - Hexagon Copy-To-Combine Pass ------===//
34 #define DEBUG_TYPE "hexagon-copy-combine"
82 return "Hexagon Copy-To-Combine Pass";
126 INITIALIZE_PASS(HexagonCopyToCombine, "hexagon-copy-combine",
127 "Hexagon Copy-To-Combine Pass", false, false)
132 case Hexagon::A2_tfr: {
140 return Hexagon::IntRegsRegClass.contains(DestReg) &&
141 Hexagon::IntRegsRegClass.contains(SrcReg);
144 case Hexagon::A2_tfrsi: {
160 return Hexagon::IntRegsRegClass.contains(DestReg) &
    [all...]
HexagonPeephole.cpp 1 //===-- HexagonPeephole.cpp - Hexagon Peephole Optimiztions ---------------===//
36 #include "Hexagon.h"
57 #define DEBUG_TYPE "hexagon-peephole"
59 static cl::opt<bool> DisableHexagonPeephole("disable-hexagon-peephole",
63 static cl::opt<bool> DisablePNotP("disable-hexagon-pnotp",
67 static cl::opt<bool> DisableOptSZExt("disable-hexagon-optszext",
71 static cl::opt<bool> DisableOptExtTo64("disable-hexagon-opt-ext-to-64",
95 return "Hexagon optimize redundant zero and size extends";
106 INITIALIZE_PASS(HexagonPeephole, "hexagon-peephole", "Hexagon Peephole"
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/Disassembler/
HexagonDisassembler.cpp 1 //===- HexagonDisassembler.cpp - Disassembler for Hexagon ISA -------------===//
9 #define DEBUG_TYPE "hexagon-disassembler"
36 using namespace Hexagon;
42 /// Hexagon disassembler for all Hexagon platforms.
173 MI.setOpcode(Hexagon::BUNDLE);
203 case Hexagon::S2_allocframe:
204 if (MI.getOperand(0).getReg() == Hexagon::R29) {
205 MI.setOpcode(Hexagon::S6_allocframe_to_raw);
210 case Hexagon::L2_deallocframe
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/MCTargetDesc/
HexagonMCDuplexInfo.cpp 30 using namespace Hexagon;
32 #define DEBUG_TYPE "hexagon-mcduplex-info"
200 case Hexagon::L2_loadri_io:
207 Hexagon::R29 == SrcReg && inRange<5, 2>(MCI, 2)) {
217 case Hexagon::L2_loadrub_io:
237 case Hexagon::L2_loadrh_io:
238 case Hexagon::L2_loadruh_io:
248 case Hexagon::L2_loadrb_io:
258 case Hexagon::L2_loadrd_io:
263 HexagonMCInstrInfo::isIntReg(SrcReg) && Hexagon::R29 == SrcReg &
    [all...]
HexagonMCCompound.cpp 1 //=== HexagonMCCompound.cpp - Hexagon Compound checker -------------------===//
26 using namespace Hexagon;
28 #define DEBUG_TYPE "hexagon-mccompound"
92 case Hexagon::C2_cmpeq:
93 case Hexagon::C2_cmpgt:
94 case Hexagon::C2_cmpgtu:
100 if ((Hexagon::P0 == DstReg || Hexagon::P1 == DstReg) &&
105 case Hexagon::C2_cmpeqi:
106 case Hexagon::C2_cmpgti
    [all...]
HexagonMCInstrInfo.cpp 1 //===- HexagonMCInstrInfo.cpp - Hexagon sub-class of MCInst ---------------===//
9 // This class extends MCInstrInfo to allow Hexagon specific MCInstr queries
36 return Register != Hexagon::NoRegister;
39 Hexagon::PacketIterator::PacketIterator(MCInstrInfo const &MCII,
45 Hexagon::PacketIterator::PacketIterator(MCInstrInfo const &MCII,
50 Hexagon::PacketIterator &Hexagon::PacketIterator::operator++() {
71 MCInst const &Hexagon::PacketIterator::operator*() const {
77 bool Hexagon::PacketIterator::operator==(PacketIterator const &Other) const {
102 iterator_range<Hexagon::PacketIterator
    [all...]
HexagonMCChecker.h 10 // packet constraint rules of the Hexagon ISA.
106 return (Hexagon::P0 == R || Hexagon::P1 == R || Hexagon::P2 == R ||
107 Hexagon::P3 == R);
111 return (Hexagon::SA0 == R || Hexagon::LC0 == R || Hexagon::SA1 == R ||
112 Hexagon::LC1 == R);
HexagonMCChecker.cpp 10 // packet constraint rules of the Hexagon ISA.
35 HexagonMCChecker::Unconditional(Hexagon::NoRegister, false);
39 ReadOnly.insert(Hexagon::PC);
40 ReadOnly.insert(Hexagon::C9_8);
44 Defs[Hexagon::SA0].insert(Unconditional); // FIXME: define or change SA0?
45 Defs[Hexagon::LC0].insert(Unconditional);
48 Defs[Hexagon::SA1].insert(Unconditional); // FIXME: define or change SA0?
49 Defs[Hexagon::LC1].insert(Unconditional);
91 unsigned PredReg = Hexagon::NoRegister;
106 if (Hexagon::R31 != R && MCID.isCall()
    [all...]

Completed in 30 milliseconds

1 2 3