[llvm-commits] [llvm] r74628 - in /llvm/trunk/include/llvm/CodeGen: MachineInstrBuilder.h MachineOperand.h

Nick Lewycky nicholas at mxc.ca
Wed Jul 1 21:09:01 PDT 2009


Devang Patel wrote:
> Author: dpatel
> Date: Wed Jul  1 14:08:07 2009
> New Revision: 74628
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=74628&view=rev
> Log:
> Add machine operand for MDNodes. This will be used to communicate debug info.
> 
> Modified:
>     llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h
>     llvm/trunk/include/llvm/CodeGen/MachineOperand.h
> 
> Modified: llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h?rev=74628&r1=74627&r2=74628&view=diff
> 
> ==============================================================================
> --- llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h Wed Jul  1 14:08:07 2009
> @@ -107,6 +107,13 @@
>      return *this;
>    }
>  
> +  const MachineInstrBuilder &addMetadata(MDNode *N,
> +					 int64_t Offset = 0,
> +					 unsigned char TargetFlags = 0) const {
> +    MI->addOperand(MachineOperand::CreateMDNode(N, Offset, TargetFlags));
> +    return *this;
> +  }
> +
>    const MachineInstrBuilder &addExternalSymbol(const char *FnName,
>                                                 int64_t Offset = 0,
>                                            unsigned char TargetFlags = 0) const {
> 
> Modified: llvm/trunk/include/llvm/CodeGen/MachineOperand.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineOperand.h?rev=74628&r1=74627&r2=74628&view=diff
> 
> ==============================================================================
> --- llvm/trunk/include/llvm/CodeGen/MachineOperand.h (original)
> +++ llvm/trunk/include/llvm/CodeGen/MachineOperand.h Wed Jul  1 14:08:07 2009
> @@ -23,6 +23,7 @@
>  class ConstantFP;
>  class MachineBasicBlock;
>  class GlobalValue;
> +class MDNode;
>  class MachineInstr;
>  class TargetMachine;
>  class MachineRegisterInfo;
> @@ -41,7 +42,8 @@
>      MO_ConstantPoolIndex,      ///< Address of indexed Constant in Constant Pool
>      MO_JumpTableIndex,         ///< Address of indexed Jump Table for switch
>      MO_ExternalSymbol,         ///< Name of external global symbol
> -    MO_GlobalAddress           ///< Address of a global value
> +    MO_GlobalAddress,          ///< Address of a global value
> +    MO_Metadata                ///< Metadata info
>    };
>  
>  private:
> @@ -107,6 +109,7 @@
>          int Index;                // For MO_*Index - The index itself.
>          const char *SymbolName;   // For MO_ExternalSymbol.
>          GlobalValue *GV;          // For MO_GlobalAddress.
> +	MDNode *Node;             // For MO_Metadata.

Tab.

>        } Val;
>        int64_t Offset;   // An offset from the object.
>      } OffsetedInfo;
> @@ -423,6 +426,14 @@
>      Op.setTargetFlags(TargetFlags);
>      return Op;
>    }
> +  static MachineOperand CreateMDNode(MDNode *N, int64_t Offset,
> +				     unsigned char TargetFlags = 0) {

Tabs.

Nick

> +    MachineOperand Op(MachineOperand::MO_Metadata);
> +    Op.Contents.OffsetedInfo.Val.Node = N;
> +    Op.setOffset(Offset);
> +    Op.setTargetFlags(TargetFlags);
> +    return Op;
> +  }
>    static MachineOperand CreateES(const char *SymName, int64_t Offset = 0,
>                                   unsigned char TargetFlags = 0) {
>      MachineOperand Op(MachineOperand::MO_ExternalSymbol);
> 
> 
> _______________________________________________
> 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