[llvm-commits] [llvm-gcc-4.2] r76208 - in /llvm-gcc-4.2/trunk/gcc: llvm-backend.cpp llvm-convert.cpp
Anton Korobeynikov
anton at korobeynikov.info
Fri Jul 17 12:41:24 PDT 2009
Hello, Eli
> Consistent with what? From the description, this sounds like it
> breaks local register variables...
Sorry, I was not clear. The behaviour is only changed for local
register variables which have hard register tied to them, e.g.
register int* foo __asm__("bar");
The problem is with the stuff like
void foo(void) {
register int* bar __asm__("baz");
quux(*bar, bar+1);
}
We completely ignored asm specifier previously. Currently we're
emitting inline asm for loads / stores to such variables (just blank
inline asm node with input / output tied to the specified register and
variable).
--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
More information about the llvm-commits
mailing list