[llvm-commits] [llvm] r52315 - in /llvm/trunk: include/llvm/Analysis/ValueTracking.h lib/Analysis/ValueTracking.cpp lib/Transforms/Scalar/InstructionCombining.cpp
Chris Lattner
clattner at apple.com
Tue Jun 24 10:41:46 PDT 2008
On Jun 24, 2008, at 12:57 AM, Matthijs Kooijman wrote:
> Hi Chris,
>
>> Can't passes just insert a new ExtractValueInst and expect
>> instcombine
>> to simplify stuff away?
> Currently, this method is only used by SCCP, IPConstProp and
> InstCombine
> itself. The first two use it to propagate constants or known values
> out of
> functions (ie, propage known return values). This means they really
> have to
> try to find the actual value instead of just inserting extractvalue.
>
> We could probably reduce this to only look at the first level of
> inserts or
> something, but that would require always running instcombine before
> these
> passes (which ends up being slower, I would expect) and causes some
> simplifications to be left out.
These interprocedural passes can only be run roughly when the ABI is
changable for a function. Shouldn't they just "flatten" the return
value and scalarize arguments when this is the case? If that is so,
the "walking" of insertvalue etc should be minimal.
-Chris
More information about the llvm-commits
mailing list