Looks kinda nasty to me, but I'm okay with the change (it seems correct) since it brings you closer to having something that really works with the merging. Would it be possible to start using __ Set instead __ mov when merging constants to registers with this change (we couldn't previously because Set may emit an xor instruction which clobbers eflags)?
On Wed, Jan 14, 2009 at 4:59 PM, <[email protected]> wrote: > Reviewers: Kasper Lund, William Hesse, iposva, > > Description: > Experimental: processor flags are not preserved across CFG edges > targeting labeled basic blocks. Merge code may be generated at the > block exit which could potentially destroy a value in the flags > register. > > This solution is to always materialize the flag result in a register. > The generated code is known to be bad but (more) correct and will have > to be fixed as a future change. > > Please review this at http://codereview.chromium.org/18225 > > SVN Base: http://v8.googlecode.com/svn/branches/experimental/toiger/ > > Affected files: > M src/codegen-ia32.cc > > > --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
