mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
ExprTypeConvert will already do this transformation, no need to specialize
it here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2431 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1f8d13c361
commit
872265ee1b
@ -47,7 +47,6 @@ static inline bool isReinterpretingCast(const CastInst *CI) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Peephole optimize the following instructions:
|
||||
// %t1 = cast ? to x *
|
||||
// %t2 = add x * %SP, %t1 ;; Constant must be 2nd operand
|
||||
@ -191,26 +190,6 @@ static bool PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Peephole optimize the following instructions:
|
||||
// %tmp = cast <ty> %V to <ty2>
|
||||
// %V = cast <ty2> %tmp to <ty3> ; Where ty & ty2 are same size
|
||||
//
|
||||
// Into: cast <ty> %V to <ty3>
|
||||
//
|
||||
if (SrcI)
|
||||
if (CastInst *CSrc = dyn_cast<CastInst>(SrcI))
|
||||
if (isReinterpretingCast(CI) + isReinterpretingCast(CSrc) < 2) {
|
||||
// We can only do c-c elimination if, at most, one cast does a
|
||||
// reinterpretation of the input data.
|
||||
//
|
||||
// If legal, make this cast refer the the original casts argument!
|
||||
//
|
||||
PRINT_PEEPHOLE2("cast-cast:in ", CI, CSrc);
|
||||
CI->setOperand(0, CSrc->getOperand(0));
|
||||
PRINT_PEEPHOLE1("cast-cast:out", CI);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Check to see if it's a cast of an instruction that does not depend on the
|
||||
// specific type of the operands to do it's job.
|
||||
if (!isReinterpretingCast(CI)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user