mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-16 08:29:08 +00:00
Add a TargetInstrDescriptor flag to mark an instruction as "re-materializable".
It means the instruction can be easily re-materialized at any point. e.g. constant generation, load from constantpool. llvm-svn: 35158
This commit is contained in:
parent
6ecf1045a6
commit
2081cf96ed
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user