X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FTarget%2FTargetInstrInfo.h;h=aef9093d49e37801501aeebb63a973023a054d11;hb=2c783e46c3480c7fa8b91b10610a8e0d92e33ccd;hp=1cb7e6817b2b0a8c480f5a57d0b3840fc64e2a3b;hpb=2864eee7a322610a8dc5f01e450a5e1ca477f7e7;p=oota-llvm.git diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h index 1cb7e6817b2..aef9093d49e 100644 --- a/include/llvm/Target/TargetInstrInfo.h +++ b/include/llvm/Target/TargetInstrInfo.h @@ -78,6 +78,10 @@ const unsigned M_VARIABLE_OPS = 1 << 11; // execution. const unsigned M_PREDICATED = 1 << 12; +// M_REMATERIALIZIBLE - Set if this instruction can be trivally re-materialized +// at any time, e.g. constant generation, load from constant pool. +const unsigned M_REMATERIALIZIBLE = 1 << 13; + // Machine operand flags // M_LOOK_UP_PTR_REG_CLASS - Set if this operand is a pointer value and it @@ -207,6 +211,9 @@ public: bool isPredicated(MachineOpCode Opcode) const { return get(Opcode).Flags & M_PREDICATED; } + bool isReMaterializable(MachineOpCode Opcode) const { + return get(Opcode).Flags & M_REMATERIALIZIBLE; + } bool isCommutableInstr(MachineOpCode Opcode) const { return get(Opcode).Flags & M_COMMUTABLE; }