mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
- Add "Bitcast" target instruction property for instructions which perform
nothing more than a bitcast. - Teach tablegen to automatically infer "Bitcast" property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127667 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -200,6 +200,7 @@ class Instruction {
|
||||
bit isIndirectBranch = 0; // Is this instruction an indirect branch?
|
||||
bit isCompare = 0; // Is this instruction a comparison instruction?
|
||||
bit isMoveImm = 0; // Is this instruction a move immediate instruction?
|
||||
bit isBitcast = 0; // Is this instruction a bitcast instruction?
|
||||
bit isBarrier = 0; // Can control flow fall through this instruction?
|
||||
bit isCall = 0; // Is this instruction a call instruction?
|
||||
bit canFoldAsLoad = 0; // Can this be folded as a simple memory operand?
|
||||
|
@@ -105,6 +105,7 @@ namespace TID {
|
||||
IndirectBranch,
|
||||
Compare,
|
||||
MoveImm,
|
||||
Bitcast,
|
||||
DelaySlot,
|
||||
FoldableAsLoad,
|
||||
MayLoad,
|
||||
@@ -358,6 +359,12 @@ public:
|
||||
bool isMoveImmediate() const {
|
||||
return Flags & (1 << TID::MoveImm);
|
||||
}
|
||||
|
||||
/// isBitcast - Return true if this instruction is a bitcast instruction.
|
||||
///
|
||||
bool isBitcast() const {
|
||||
return Flags & (1 << TID::Bitcast);
|
||||
}
|
||||
|
||||
/// isNotDuplicable - Return true if this instruction cannot be safely
|
||||
/// duplicated. For example, if the instruction has a unique labels attached
|
||||
|
Reference in New Issue
Block a user