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

Reply via email to