mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
Simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14424 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
98ebce1a6f
commit
af754dbf65
@ -243,25 +243,18 @@ static inline ExprType negate(const ExprType &E, Value *V) {
|
|||||||
//
|
//
|
||||||
ExprType llvm::ClassifyExpr(Value *Expr) {
|
ExprType llvm::ClassifyExpr(Value *Expr) {
|
||||||
assert(Expr != 0 && "Can't classify a null expression!");
|
assert(Expr != 0 && "Can't classify a null expression!");
|
||||||
if (Expr->getType() == Type::FloatTy || Expr->getType() == Type::DoubleTy)
|
if (Expr->getType()->isFloatingPoint())
|
||||||
return Expr; // FIXME: Can't handle FP expressions
|
return Expr; // FIXME: Can't handle FP expressions
|
||||||
|
|
||||||
switch (Expr->getValueType()) {
|
if (Constant *C = dyn_cast<Constant>(Expr)) {
|
||||||
case Value::InstructionVal: break; // Instruction... hmmm... investigate.
|
|
||||||
case Value::TypeVal: case Value::BasicBlockVal:
|
|
||||||
case Value::FunctionVal: default:
|
|
||||||
//assert(0 && "Unexpected expression type to classify!");
|
|
||||||
std::cerr << "Bizarre thing to expr classify: " << Expr << "\n";
|
|
||||||
return Expr;
|
|
||||||
case Value::GlobalVariableVal: // Global Variable & Function argument:
|
|
||||||
case Value::ArgumentVal: // nothing known, return variable itself
|
|
||||||
return Expr;
|
|
||||||
case Value::ConstantVal: // Constant value, just return constant
|
|
||||||
if (ConstantInt *CPI = dyn_cast<ConstantInt>(cast<Constant>(Expr)))
|
if (ConstantInt *CPI = dyn_cast<ConstantInt>(cast<Constant>(Expr)))
|
||||||
// It's an integral constant!
|
// It's an integral constant!
|
||||||
return ExprType(CPI->isNullValue() ? 0 : CPI);
|
return ExprType(CPI->isNullValue() ? 0 : CPI);
|
||||||
return Expr;
|
return Expr;
|
||||||
|
} else if (!isa<Instruction>(Expr)) {
|
||||||
|
return Expr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Instruction *I = cast<Instruction>(Expr);
|
Instruction *I = cast<Instruction>(Expr);
|
||||||
const Type *Ty = I->getType();
|
const Type *Ty = I->getType();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user