aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-04-13 21:06:25 +0000
committerDan Gohman <gohman@apple.com>2009-04-13 21:06:25 +0000
commit88c7af096b09ad26cbcebfdf40151e04094b7460 (patch)
tree3e225d87985e10c3bc45f681fb4fd7c4c6bc7db7 /include
parent26cbf9eb99c779b8992f4865c6cf308318d39723 (diff)
downloadexternal_llvm-88c7af096b09ad26cbcebfdf40151e04094b7460.zip
external_llvm-88c7af096b09ad26cbcebfdf40151e04094b7460.tar.gz
external_llvm-88c7af096b09ad26cbcebfdf40151e04094b7460.tar.bz2
Rename COPY_TO_SUBCLASS to COPY_TO_REGCLASS, and generalize
it accordingly. Thanks to Jakob Stoklund Olesen for pointing out how this might be useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68986 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/Target.td2
-rw-r--r--include/llvm/Target/TargetInstrInfo.h10
2 files changed, 7 insertions, 5 deletions
diff --git a/include/llvm/Target/Target.td b/include/llvm/Target/Target.td
index 3ce360b..3f1cdd2 100644
--- a/include/llvm/Target/Target.td
+++ b/include/llvm/Target/Target.td
@@ -400,7 +400,7 @@ def SUBREG_TO_REG : Instruction {
let Namespace = "TargetInstrInfo";
let neverHasSideEffects = 1;
}
-def COPY_TO_SUBCLASS : Instruction {
+def COPY_TO_REGCLASS : Instruction {
let OutOperandList = (ops unknown:$dst);
let InOperandList = (ops unknown:$src, i32imm:$regclass);
let AsmString = "";
diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h
index fb41e4d..c6b8987 100644
--- a/include/llvm/Target/TargetInstrInfo.h
+++ b/include/llvm/Target/TargetInstrInfo.h
@@ -75,12 +75,14 @@ public:
/// zext from i32 to i64 via implicit zero-extension).
SUBREG_TO_REG = 9,
- /// COPY_TO_SUBCLASS - This instruction is a placeholder for a plain
+ /// COPY_TO_REGCLASS - This instruction is a placeholder for a plain
/// register-to-register copy into a specific register class. This is only
/// used between instruction selection and MachineInstr creation, before
- /// virtual registers have been created for all the instructions. As with
- /// normal copies, these may be optimized away by the coalescer.
- COPY_TO_SUBCLASS = 10
+ /// virtual registers have been created for all the instructions, and it's
+ /// only needed in cases where the register classes implied by the
+ /// instructions are insufficient. The actual MachineInstrs to perform
+ /// the copy are emitted with the TargetInstrInfo::copyRegToReg hook.
+ COPY_TO_REGCLASS = 10
};
unsigned getNumOpcodes() const { return NumOpcodes; }