[cfe-commits] r122643 - in /cfe/trunk: lib/CodeGen/CGDecl.cpp lib/CodeGen/CGStmt.cpp test/CodeGen/asm-variable.c
Chris Lattner
clattner at apple.com
Fri Dec 31 19:15:01 PST 2010
On Dec 31, 2010, at 7:05 PM, Chris Lattner wrote:
>>
>> 1. Pinned local variables are treated no differently than normal local variables except when they are used as operands for inline asm. This is what Rafael's patch implements. I suppose you could warn if such a variable is never used for inline asm.
>
> Yes, this sounds right. The warning should be something like "warning: register assignment ignored" to give people a head's up that they have useless code.
This warning should be straight-forward to implement: just add an 'isused' bit on AsmLabelAttr and set it in AddVariableConstraits.
Rafael, could you tackle this if you get a chance? Also, please add a doxygen comment to AddVariableConstraits and s/Constraits/Constraints/.
One other question, what valid code does this ErrorUnsupported reject? Should it just be a normal error?
+ if (!Target.isValidGCCRegisterName(Register)) {
+ CGM.ErrorUnsupported(Variable, "__asm__");
+ return Constraint;
+ }
Thanks!
-Chris
More information about the cfe-commits
mailing list