On Oct 20, 2007, at 10:29 AM, Chris Lattner wrote: > This is just a really ugly compatibility hack. Apparently GCC > doesn't do cross jumping of inline asm statements as much as we do, > and we've hit a significant body of code that depends on this not > happening. > > The code in question is clearly broken, but at this point, I think > it's important for LLVM to be "bug compatible" with GCC if it doesn't > cost much. In this case, we only lose tail merging of inline asm > statements, which impacts code size but not performance.
Bill's change is not clearly the wrong thing. People using asm's are generally trying to do something they can't do more straightforwardly; they know what code they want the compiler to produce, and regard writing asm's as an exercise in coercing the compiler into producing it. (They should be writing in assembler IMO, but gcc decided years ago to support asm, and we're all stuck with it now.) Before moving to llvm, I was maintaining gcc for some time; I never had anybody complain their asm's were not optimized enough, and I got many complaints that asm's were optimized too much. _______________________________________________ llvm-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
