Lines Matching defs:ValueEntry
51 struct ValueEntry {
54 ValueEntry(unsigned R, Value *O) : Rank(R), Op(O) {}
56 inline bool operator<(const ValueEntry &LHS, const ValueEntry &RHS) {
64 static void PrintOps(Instruction *I, const SmallVectorImpl<ValueEntry> &Ops) {
181 void RewriteExprTree(BinaryOperator *I, SmallVectorImpl<ValueEntry> &Ops);
183 SmallVectorImpl<ValueEntry> &Ops);
184 Value *OptimizeAdd(Instruction *I, SmallVectorImpl<ValueEntry> &Ops);
185 Value *OptimizeXor(Instruction *I, SmallVectorImpl<ValueEntry> &Ops);
190 bool collectMultiplyFactors(SmallVectorImpl<ValueEntry> &Ops,
194 Value *OptimizeMul(BinaryOperator *I, SmallVectorImpl<ValueEntry> &Ops);
746 SmallVectorImpl<ValueEntry> &Ops) {
1073 static unsigned FindInOperandList(SmallVectorImpl<ValueEntry> &Ops, unsigned i,
1119 SmallVector<ValueEntry, 8> Factors;
1124 ValueEntry(getRank(E.first), E.first));
1188 const SmallVectorImpl<ValueEntry> &Ops) {
1205 SmallVectorImpl<ValueEntry> &Ops) {
1388 SmallVectorImpl<ValueEntry> &Ops) {
1400 // Step 1: Convert ValueEntry to XorOpnd
1473 ValueEntry VE(getRank(O.getValue()), O.getValue());
1478 ValueEntry VE(getRank(C), C);
1497 SmallVectorImpl<ValueEntry> &Ops) {
1537 Ops.insert(Ops.begin(), ValueEntry(getRank(Mul), Mul));
1581 Ops.insert(Ops.end(), ValueEntry(getRank(V), V));
1717 Ops.insert(Ops.begin(), ValueEntry(getRank(V2), V2));
1734 bool Reassociate::collectMultiplyFactors(SmallVectorImpl<ValueEntry> &Ops,
1736 // FIXME: Have Ops be (ValueEntry, Multiplicity) pairs, simplifying this.
1864 SmallVectorImpl<ValueEntry> &Ops) {
1882 ValueEntry NewEntry = ValueEntry(getRank(V), V);
1888 SmallVectorImpl<ValueEntry> &Ops) {
1907 Ops.push_back(ValueEntry(0, Cst));
2176 SmallVector<ValueEntry, 8> Ops;
2181 ValueEntry(getRank(E.first), E.first));
2220 ValueEntry Tmp = Ops.pop_back_val();
2227 ValueEntry Tmp = Ops.pop_back_val();