Home | History | Annotate | Download | only in Hexagon

Lines Matching defs:insert

39 static cl::opt<unsigned> VRegIndexCutoff("insert-vreg-cutoff", cl::init(~0U),
40 cl::Hidden, cl::ZeroOrMore, cl::desc("Vreg# cutoff for insert generation."));
43 static cl::opt<unsigned> VRegDistCutoff("insert-dist-cutoff", cl::init(30U),
44 cl::Hidden, cl::ZeroOrMore, cl::desc("Vreg distance cutoff for insert "
47 static cl::opt<bool> OptTiming("insert-timing", cl::init(false), cl::Hidden,
48 cl::ZeroOrMore, cl::desc("Enable timing of insert generation"));
49 static cl::opt<bool> OptTimingDetail("insert-timing-detail", cl::init(false),
50 cl::Hidden, cl::ZeroOrMore, cl::desc("Enable detailed timing of insert "
53 static cl::opt<bool> OptSelectAll0("insert-all0", cl::init(false), cl::Hidden,
55 static cl::opt<bool> OptSelectHas0("insert-has0", cl::init(false), cl::Hidden,
57 // Whether to construct constant values via "insert". Could eliminate constant
59 static cl::opt<bool> OptConst("insert-const", cl::init(false), cl::Hidden,
97 RegisterSet &insert(unsigned R) {
109 RegisterSet &insert(const RegisterSet &Rs) {
362 void insert(unsigned VR);
410 void OrderedRegisterList::insert(unsigned VR) {
415 Seq.insert(L, VR);
427 // A record of the insert form. The fields correspond to the operands
428 // of the "insert" instruction:
429 // ... = insert(SrcR, InsR, #Wdh, #Off)
471 return "Hexagon generate \"insert\" instructions";
567 RO.insert(std::make_pair(R, Index++));
591 RO.insert(std::make_pair(VRs[i], i));
691 Defs.insert(R);
705 Uses.insert(R);
739 M.insert(std::make_pair(std::make_pair(FromN, ToN), MaxD));
877 dbgs() << PrintReg(VR, HRI) << " = insert(" << PrintReg(SrcR, HRI)
911 // Leave those alone. They are more transparent than "insert".
916 // "insert" representations.
923 // via "insert". If VR is a constant that can be generated in a single
924 // instruction (without constant extenders), generating it via insert
933 // Insert the defined registers into the list of available registers
936 AVs.insert(VR);
937 BlockDefs.insert(InsDefs);
955 // For a given register VR and a insert form, find the registers that are
957 // needed for it after the definition of VR is replaced with the insert
962 Regs[S].insert(VR);
984 RMs.insert(R);
998 // is one that may become unused (dead) after conversion to the insert form
1015 // Remove all entries from the map, where the register has no insert forms
1035 // minate any registers, but since "insert" is not a constant-extendable
1261 TT.insert(LL[i].second);
1264 AllRMs.insert(TT);
1275 UIs.insert(I->getParent());
1290 // "insert" instructions.
1301 // will be removed (i.e. this register will not be replaced by insert).
1349 AllRMs.insert(LL[0].second);
1375 // We can generate the "insert" instructions using potentially stale re-
1495 // get used in a newly generated "insert" instruction. Have a custom
1520 // Collect candidates for conversion into the insert forms.
1597 "Hexagon generate \"insert\" instructions", false, false)
1600 "Hexagon generate \"insert\" instructions", false, false)