[llvm-commits] [llvm] r56161 - in /llvm/trunk: include/llvm/CodeGen/MachineOperand.h lib/CodeGen/MachineInstr.cpp lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp

Evan Cheng evan.cheng at apple.com
Fri Sep 12 13:39:06 PDT 2008


On Sep 12, 2008, at 11:18 AM, Dale Johannesen wrote:

>
>
>>> +
>>> +  /// IsEarlyClobber - True if this operand is marked earlyclobber
>>> in an
>>> +  /// inline asm.  See gcc doc for description of earlyclobber.
>>> +  bool IsEarlyClobber : 1;
>>> /// the specified value.  If an operand is known to be an register
>>> already,
>>> /// the setReg method should be used.
>>> void MachineOperand::ChangeToRegister(unsigned Reg, bool isDef, bool
>>> isImp,
>>> -                                      bool isKill, bool isDead) {
>>> +                                      bool isKill, bool isDead,
>>> +                                      bool isEarlyClobber) {
>>> // If this operand is already a register operand, use setReg to
>>> update the
>>> // register's use/def lists.
>>> if (isReg()) {
>>> @@ -126,6 +127,7 @@
>>> IsImp = isImp;
>>> IsKill = isKill;
>>> IsDead = isDead;
>>> +  IsEarlyClobber = isEarlyClobber;
>>> SubReg = 0;
>>> }
>>
>> Do we ever want to allow this to happen? I hope not. :-)
>
> Don't know yet, for the moment I'm just expanding the interface
> consistently.  It is not used yet.

Rather than this change. I think we rather add assertions to ensure  
early clobber machine operand can never change.

Thanks,

Evan

>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list