[llvm] r369241 - Revert [Attributor] Fix: Make sure we set the changed flag
David L. Jones via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 19 01:00:09 PDT 2019
Author: dlj
Date: Mon Aug 19 01:00:08 2019
New Revision: 369241
URL: http://llvm.org/viewvc/llvm-project?rev=369241&view=rev
Log:
Revert [Attributor] Fix: Make sure we set the changed flag
This reverts r369159 (git commit cbaf1fdea2de891bdbc49cdec89ae2077e6b9ed0)
r369160 caused a test to fail under UBSAN. See thread on llvm-commits.
Modified:
llvm/trunk/lib/Transforms/IPO/Attributor.cpp
Modified: llvm/trunk/lib/Transforms/IPO/Attributor.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/Attributor.cpp?rev=369241&r1=369240&r2=369241&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/Attributor.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/Attributor.cpp Mon Aug 19 01:00:08 2019
@@ -878,7 +878,7 @@ ChangeStatus AAReturnedValuesImpl::updat
// The map in which we collect return values -> return instrs.
decltype(ReturnedValues) &RetValsMap;
// The flag to indicate a change.
- bool &Changed;
+ bool Changed;
// The return instrs we come from.
SmallPtrSet<ReturnInst *, 2> RetInsts;
};
@@ -906,8 +906,9 @@ ChangeStatus AAReturnedValuesImpl::updat
// Callback for all "return intructions" live in the associated function.
auto CheckReturnInst = [this, &VisitReturnedValue, &Changed](Instruction &I) {
ReturnInst &Ret = cast<ReturnInst>(I);
- RVState RVS({ReturnedValues, Changed, {}});
+ RVState RVS({ReturnedValues, false, {}});
RVS.RetInsts.insert(&Ret);
+ Changed |= RVS.Changed;
return VisitReturnedValue(*Ret.getReturnValue(), RVS);
};
@@ -954,8 +955,7 @@ ChangeStatus AAReturnedValuesImpl::updat
if (Argument *Arg = dyn_cast<Argument>(RetVal)) {
// Arguments are mapped to call site operands and we begin the traversal
// again.
- bool Unused;
- RVState RVS({NewRVsMap, Unused, RetValAAIt.second});
+ RVState RVS({NewRVsMap, false, RetValAAIt.second});
VisitReturnedValue(*CB->getArgOperand(Arg->getArgNo()), RVS);
continue;
} else if (isa<CallBase>(RetVal)) {
More information about the llvm-commits
mailing list