search for: isoverdefined

Displaying 4 results from an estimated 4 matches for "isoverdefined".

2016 Dec 31
0
SCCP is not always correct in presence of undef (+ proposed fix)
...CCP.cpp b/lib/Transforms/Scalar/SCCP.cpp index 8a6be97..45f1241 100644 --- a/lib/Transforms/Scalar/SCCP.cpp +++ b/lib/Transforms/Scalar/SCCP.cpp @@ -908,8 +908,18 @@ void SCCPSolver::visitBinaryOperator(Instruction &I) { } // If something is undef, wait for it to resolve. - if (!V1State.isOverdefined() && !V2State.isOverdefined()) - return; + if (!V1State.isOverdefined() && !V2State.isOverdefined()) { + Constant *L = UndefValue::get(I.getOperand(0)->getType()); + if (V1State.isConstant()) + L = V1State.getConstant(); + Constant *R = UndefValue::get(I.getOper...
2016 Dec 31
4
SCCP is not always correct in presence of undef (+ proposed fix)
...p > index 8a6be97..45f1241 100644 > --- a/lib/Transforms/Scalar/SCCP.cpp > +++ b/lib/Transforms/Scalar/SCCP.cpp > @@ -908,8 +908,18 @@ void SCCPSolver::visitBinaryOperator(Instruction &I) { > } > > // If something is undef, wait for it to resolve. > - if (!V1State.isOverdefined() && !V2State.isOverdefined()) > - return; > + if (!V1State.isOverdefined() && !V2State.isOverdefined()) { > + Constant *L = UndefValue::get(I.getOperand(0)->getType()); > + if (V1State.isConstant()) > + L = V1State.getConstant(); > + Constant...
2016 Dec 31
0
SCCP is not always correct in presence of undef (+ proposed fix)
...>> --- a/lib/Transforms/Scalar/SCCP.cpp >> +++ b/lib/Transforms/Scalar/SCCP.cpp >> @@ -908,8 +908,18 @@ void SCCPSolver::visitBinaryOperator(Instruction &I) >> { >> } >> >> // If something is undef, wait for it to resolve. >> - if (!V1State.isOverdefined() && !V2State.isOverdefined()) >> - return; >> + if (!V1State.isOverdefined() && !V2State.isOverdefined()) { >> + Constant *L = UndefValue::get(I.getOperand(0)->getType()); >> + if (V1State.isConstant()) >> + L = V1State.getConstant();...
2016 Dec 30
5
SCCP is not always correct in presence of undef (+ proposed fix)
Hi. I'm sending this email to -dev as this may be of interest of many/people may have opinions/want to try the change before it goes in to report problems. I've been recently working on a patch to integrate `undef` in the SCCP solver, in the hope of fixing a tail of latent bugs in SCCP which remained uncovered for many years. I think this is a decent time to propose, so that it can