diff options
| author | Devang Patel <dpatel@apple.com> | 2006-12-04 23:54:59 +0000 | 
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2006-12-04 23:54:59 +0000 | 
| commit | 21efc73161ea59756f2dcd0ca5976209f7cc9dac (patch) | |
| tree | ba826a797f8344e7952450f522ff8bee927adefe /llvm/lib/Transforms | |
| parent | b2ddc043219cf12968a4e4a86584513531312d3a (diff) | |
| download | bcm5719-llvm-21efc73161ea59756f2dcd0ca5976209f7cc9dac.tar.gz bcm5719-llvm-21efc73161ea59756f2dcd0ca5976209f7cc9dac.zip | |
SCCP does not handle Packed Type properly. Disable Packed Type handling
for now.
llvm-svn: 32208
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/SCCP.cpp | 18 | 
1 files changed, 17 insertions, 1 deletions
| diff --git a/llvm/lib/Transforms/Scalar/SCCP.cpp b/llvm/lib/Transforms/Scalar/SCCP.cpp index b0c25feae8f..cf91b57689a 100644 --- a/llvm/lib/Transforms/Scalar/SCCP.cpp +++ b/llvm/lib/Transforms/Scalar/SCCP.cpp @@ -749,6 +749,11 @@ void SCCPSolver::visitBinaryOperator(Instruction &I) {  }  void SCCPSolver::visitExtractElementInst(ExtractElementInst &I) { +  // FIXME : SCCP does not handle vectors properly. +  markOverdefined(&I); +  return; + +#if 0    LatticeVal &ValState = getValueState(I.getOperand(0));    LatticeVal &IdxState = getValueState(I.getOperand(1)); @@ -757,9 +762,14 @@ void SCCPSolver::visitExtractElementInst(ExtractElementInst &I) {    else if(ValState.isConstant() && IdxState.isConstant())      markConstant(&I, ConstantExpr::getExtractElement(ValState.getConstant(),                                                       IdxState.getConstant())); +#endif  }  void SCCPSolver::visitInsertElementInst(InsertElementInst &I) { +  // FIXME : SCCP does not handle vectors properly. +  markOverdefined(&I); +  return; +#if 0    LatticeVal &ValState = getValueState(I.getOperand(0));    LatticeVal &EltState = getValueState(I.getOperand(1));    LatticeVal &IdxState = getValueState(I.getOperand(2)); @@ -773,13 +783,18 @@ void SCCPSolver::visitInsertElementInst(InsertElementInst &I) {                                                      EltState.getConstant(),                                                      IdxState.getConstant()));    else if (ValState.isUndefined() && EltState.isConstant() && -           IdxState.isConstant()) +           IdxState.isConstant())       markConstant(&I, ConstantExpr::getInsertElement(UndefValue::get(I.getType()),                                                      EltState.getConstant(),                                                      IdxState.getConstant())); +#endif  }  void SCCPSolver::visitShuffleVectorInst(ShuffleVectorInst &I) { +  // FIXME : SCCP does not handle vectors properly. +  markOverdefined(&I); +  return; +#if 0    LatticeVal &V1State   = getValueState(I.getOperand(0));    LatticeVal &V2State   = getValueState(I.getOperand(1));    LatticeVal &MaskState = getValueState(I.getOperand(2)); @@ -801,6 +816,7 @@ void SCCPSolver::visitShuffleVectorInst(ShuffleVectorInst &I) {        MaskState.getConstant() : UndefValue::get(I.getOperand(2)->getType());      markConstant(&I, ConstantExpr::getShuffleVector(V1, V2, Mask));    } +#endif  }  // Handle getelementptr instructions... if all operands are constants then we | 

