mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
Split SimpleConstantVal up into its components, so each Constant subclass gets
a different enum value. This allows 'classof' for these to be really simple, not needing to call getType() anymore. This speeds up isa/dyncast/etc for constants, and also makes them smaller. For example, the text section of a release build of InstCombine.cpp shrinks from 230037 bytes to 216363 bytes, a 6% reduction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23466 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -61,12 +61,8 @@ public:
|
||||
static inline bool classof(const Constant *) { return true; }
|
||||
static inline bool classof(const GlobalValue *) { return true; }
|
||||
static inline bool classof(const Value *V) {
|
||||
return V->getValueType() == Value::SimpleConstantVal ||
|
||||
V->getValueType() == Value::ConstantExprVal ||
|
||||
V->getValueType() == Value::ConstantAggregateZeroVal ||
|
||||
V->getValueType() == Value::FunctionVal ||
|
||||
V->getValueType() == Value::GlobalVariableVal ||
|
||||
V->getValueType() == Value::UndefValueVal;
|
||||
return V->getValueType() >= ConstantFirstVal &&
|
||||
V->getValueType() <= ConstantLastVal;
|
||||
}
|
||||
|
||||
/// replaceUsesOfWithOnConstant - This method is a special form of
|
||||
|
Reference in New Issue
Block a user