On Sun, 19 Jun 2005, holger krekel wrote:
Hi Armin,

On Sun, Jun 19, 2005 at 12:20 +0200, Armin Rigo wrote:
On Sat, Jun 18, 2005 at 06:28:30PM +0200, [EMAIL PROTECTED] wrote:
- added flow graph transform remove_same_as, because same_as is
  incompatible with SSA in LLVM.

I'm not sure I see why 'same_as' is incompatible with LLVM?  It's not an
"assignment" operation, it's just an operation that creates a new result
variable just like all the other ones.  The optimization is nice,
though.

Basically LLVM does not support a generic

   x1 = x2

and we couldn't think of a way to tweak some equivalent.
Previously, Carl used e.g. 'x1 = add int 0, x2' but we
thought we just want to get rid of the problem.

Another way that works with bools and floats, is to use a cast:

  x1 = cast int x2 to int

You're right though that if you can just get rid of the concept, that would be better. If you're dealing with SSA form, there should be no reason to need to copy a value like that: just use the original.

-Chris

--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev

Reply via email to