On Jul 31, 2010, at 5:47 PM, John McCall wrote: > On Jul 31, 2010, at 5:38 PM, Chris Lattner wrote: >> Inline assembly? Yuck. I thought that [llvm-]gcc just marked tons of >> locals as volatile? > > It does, but then it ends up with all these horrible liveness problems it has > to work around. > It's also done in a really intrusive way in the type-checker. > > It looked like my only bet for avoiding that without intrusive changes to IR > gen — i.e. > some way of saying "okay, these things are volatile even if the AST says they > aren't" — > was to go back over the function at the end and mark every single load and > store > as volatile. I didn't really consider that acceptable.
I agree that the gcc implementation of this is terrible, but the end result (load/store operations being marked volatile) isn't so terrible. What's wrong with a pass after IRGen that marks all accesses to allocas volatile? -Chris _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
