[llvm-commits] CVS: llvm/include/llvm/ExecutionEngine/GenericValue.h

Reid Spencer rspencer at reidspencer.com
Sat Mar 3 19:50:09 PST 2007


On Sat, 2007-03-03 at 19:45 -0800, Chris Lattner wrote:
> >> Ok, could we make GV not be a union?  Or a struct with an APInt and
> >> union of other things?
> >
> > I thought about that, and started to implement it. That involves a 50%
> > increase in memory consumption. Its already a big enough hog.
> 
> It would increase the memory use of the *interpreter*, but nothing  
> else.  The interpreter is already slow.

The JIT makes use of the fields you're intending to delete as well. SO
does ExecutionEngine (on each load and store).  Sure you want to
sacrifice JIT speed too?
> 
> >>  Having the interpreter have its own set of
> >> constant folding logic seems wrong.
> >
> > Where does it have that?
> 
> All of the 'execute*' methods.  E.g. to 'interpret' a binary or.

If its given a ConstantExpr that isn't folded automatically, what's it
supposed to do?

Reid.

> 
> -Chris
> 




More information about the llvm-commits mailing list