forked from OSchip/llvm-project
Tidy up whitespace with clang-format prior to making significant
changes. llvm-svn: 208229
This commit is contained in:
parent
68f6150156
commit
d70cc604af
|
@ -34,8 +34,10 @@ namespace llvm {
|
|||
/// select operations.
|
||||
enum SelectPatternFlavor {
|
||||
SPF_UNKNOWN = 0,
|
||||
SPF_SMIN, SPF_UMIN,
|
||||
SPF_SMAX, SPF_UMAX
|
||||
SPF_SMIN,
|
||||
SPF_UMIN,
|
||||
SPF_SMAX,
|
||||
SPF_UMAX
|
||||
// SPF_ABS - TODO.
|
||||
};
|
||||
|
||||
|
@ -43,13 +45,13 @@ enum SelectPatternFlavor {
|
|||
/// 0 -> undef, 1 -> Const, 2 -> Other, 3 -> Arg, 3 -> Unary, 4 -> OtherInst
|
||||
static inline unsigned getComplexity(Value *V) {
|
||||
if (isa<Instruction>(V)) {
|
||||
if (BinaryOperator::isNeg(V) ||
|
||||
BinaryOperator::isFNeg(V) ||
|
||||
if (BinaryOperator::isNeg(V) || BinaryOperator::isFNeg(V) ||
|
||||
BinaryOperator::isNot(V))
|
||||
return 3;
|
||||
return 4;
|
||||
}
|
||||
if (isa<Argument>(V)) return 3;
|
||||
if (isa<Argument>(V))
|
||||
return 3;
|
||||
return isa<Constant>(V) ? (isa<UndefValue>(V) ? 0 : 1) : 2;
|
||||
}
|
||||
|
||||
|
@ -62,18 +64,18 @@ static inline Constant *SubOne(Constant *C) {
|
|||
return ConstantExpr::getSub(C, ConstantInt::get(C->getType(), 1));
|
||||
}
|
||||
|
||||
|
||||
/// InstCombineIRInserter - This is an IRBuilder insertion helper that works
|
||||
/// just like the normal insertion helper, but also adds any new instructions
|
||||
/// to the instcombine worklist.
|
||||
class LLVM_LIBRARY_VISIBILITY InstCombineIRInserter
|
||||
: public IRBuilderDefaultInserter<true> {
|
||||
InstCombineWorklist &Worklist;
|
||||
|
||||
public:
|
||||
InstCombineIRInserter(InstCombineWorklist &WL) : Worklist(WL) {}
|
||||
|
||||
void InsertHelper(Instruction *I, const Twine &Name,
|
||||
BasicBlock *BB, BasicBlock::iterator InsertPt) const {
|
||||
void InsertHelper(Instruction *I, const Twine &Name, BasicBlock *BB,
|
||||
BasicBlock::iterator InsertPt) const {
|
||||
IRBuilderDefaultInserter<true>::InsertHelper(I, Name, BB, InsertPt);
|
||||
Worklist.Add(I);
|
||||
}
|
||||
|
@ -88,6 +90,7 @@ class LLVM_LIBRARY_VISIBILITY InstCombiner
|
|||
bool MadeIRChange;
|
||||
LibCallSimplifier *Simplifier;
|
||||
bool MinimizeSize;
|
||||
|
||||
public:
|
||||
/// Worklist - All of the instructions that need to be simplified.
|
||||
InstCombineWorklist Worklist;
|
||||
|
@ -146,8 +149,8 @@ public:
|
|||
Instruction *visitAnd(BinaryOperator &I);
|
||||
Value *FoldOrOfICmps(ICmpInst *LHS, ICmpInst *RHS);
|
||||
Value *FoldOrOfFCmps(FCmpInst *LHS, FCmpInst *RHS);
|
||||
Instruction *FoldOrWithConstants(BinaryOperator &I, Value *Op,
|
||||
Value *A, Value *B, Value *C);
|
||||
Instruction *FoldOrWithConstants(BinaryOperator &I, Value *Op, Value *A,
|
||||
Value *B, Value *C);
|
||||
Instruction *visitOr(BinaryOperator &I);
|
||||
Instruction *visitXor(BinaryOperator &I);
|
||||
Instruction *visitShl(BinaryOperator &I);
|
||||
|
@ -162,8 +165,7 @@ public:
|
|||
Instruction *visitFCmpInst(FCmpInst &I);
|
||||
Instruction *visitICmpInst(ICmpInst &I);
|
||||
Instruction *visitICmpInstWithCastAndCast(ICmpInst &ICI);
|
||||
Instruction *visitICmpInstWithInstAndIntCst(ICmpInst &ICI,
|
||||
Instruction *LHS,
|
||||
Instruction *visitICmpInstWithInstAndIntCst(ICmpInst &ICI, Instruction *LHS,
|
||||
ConstantInt *RHS);
|
||||
Instruction *FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI,
|
||||
ConstantInt *DivRHS);
|
||||
|
@ -190,8 +192,7 @@ public:
|
|||
Instruction *visitIntToPtr(IntToPtrInst &CI);
|
||||
Instruction *visitBitCast(BitCastInst &CI);
|
||||
Instruction *visitAddrSpaceCast(AddrSpaceCastInst &CI);
|
||||
Instruction *FoldSelectOpOp(SelectInst &SI, Instruction *TI,
|
||||
Instruction *FI);
|
||||
Instruction *FoldSelectOpOp(SelectInst &SI, Instruction *TI, Instruction *FI);
|
||||
Instruction *FoldSelectIntoOp(SelectInst &SI, Value *, Value *);
|
||||
Instruction *FoldSPFofSPF(Instruction *Inner, SelectPatternFlavor SPF1,
|
||||
Value *A, Value *B, Instruction &Outer,
|
||||
|
@ -312,8 +313,8 @@ public:
|
|||
return nullptr; // Don't do anything with FI
|
||||
}
|
||||
|
||||
void ComputeMaskedBits(Value *V, APInt &KnownZero,
|
||||
APInt &KnownOne, unsigned Depth = 0) const {
|
||||
void ComputeMaskedBits(Value *V, APInt &KnownZero, APInt &KnownOne,
|
||||
unsigned Depth = 0) const {
|
||||
return llvm::ComputeMaskedBits(V, KnownZero, KnownOne, DL, Depth);
|
||||
}
|
||||
|
||||
|
@ -326,7 +327,6 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
|
||||
/// SimplifyAssociativeOrCommutative - This performs a few simplifications for
|
||||
/// operators which are associative or commutative.
|
||||
bool SimplifyAssociativeOrCommutative(BinaryOperator &I);
|
||||
|
@ -340,12 +340,10 @@ private:
|
|||
|
||||
/// SimplifyDemandedUseBits - Attempts to replace V with a simpler value
|
||||
/// based on the demanded bits.
|
||||
Value *SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
|
||||
APInt& KnownZero, APInt& KnownOne,
|
||||
unsigned Depth);
|
||||
bool SimplifyDemandedBits(Use &U, APInt DemandedMask,
|
||||
APInt& KnownZero, APInt& KnownOne,
|
||||
unsigned Depth=0);
|
||||
Value *SimplifyDemandedUseBits(Value *V, APInt DemandedMask, APInt &KnownZero,
|
||||
APInt &KnownOne, unsigned Depth);
|
||||
bool SimplifyDemandedBits(Use &U, APInt DemandedMask, APInt &KnownZero,
|
||||
APInt &KnownOne, unsigned Depth = 0);
|
||||
/// Helper routine of SimplifyDemandedUseBits. It tries to simplify demanded
|
||||
/// bit for "r1 = shr x, c1; r2 = shl r1, c2" instruction sequence.
|
||||
Value *SimplifyShrShlDemandedBits(Instruction *Lsr, Instruction *Sftl,
|
||||
|
@ -375,21 +373,19 @@ private:
|
|||
Instruction *FoldPHIArgGEPIntoPHI(PHINode &PN);
|
||||
Instruction *FoldPHIArgLoadIntoPHI(PHINode &PN);
|
||||
|
||||
|
||||
Instruction *OptAndOp(Instruction *Op, ConstantInt *OpRHS,
|
||||
ConstantInt *AndRHS, BinaryOperator &TheAnd);
|
||||
|
||||
Value *FoldLogicalPlusAnd(Value *LHS, Value *RHS, ConstantInt *Mask,
|
||||
bool isSub, Instruction &I);
|
||||
Value *InsertRangeTest(Value *V, Constant *Lo, Constant *Hi,
|
||||
bool isSigned, bool Inside);
|
||||
Value *InsertRangeTest(Value *V, Constant *Lo, Constant *Hi, bool isSigned,
|
||||
bool Inside);
|
||||
Instruction *PromoteCastOfAllocation(BitCastInst &CI, AllocaInst &AI);
|
||||
Instruction *MatchBSwap(BinaryOperator &I);
|
||||
bool SimplifyStoreAtEndOfBlock(StoreInst &SI);
|
||||
Instruction *SimplifyMemTransfer(MemIntrinsic *MI);
|
||||
Instruction *SimplifyMemSet(MemSetInst *MI);
|
||||
|
||||
|
||||
Value *EvaluateInDifferentType(Value *V, Type *Ty, bool isSigned);
|
||||
|
||||
/// Descale - Return a value X such that Val = X * Scale, or null if none. If
|
||||
|
|
Loading…
Reference in New Issue