aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-12-01 04:01:17 +0000
committerJim Grosbach <grosbach@apple.com>2010-12-01 04:01:17 +0000
commit887c0e4cbf7c80f0b6e0cdc3b18bad54c30b9d30 (patch)
treea466b7d70a160055b82529eccc4702c79e74e673
parentbaf120fbe8056ef68fc91b16465590fdf2311c27 (diff)
Elaborate on FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120552 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrInfo.td5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td
index 04a2d48310..9b291dfdb4 100644
--- a/lib/Target/ARM/ARMInstrInfo.td
+++ b/lib/Target/ARM/ARMInstrInfo.td
@@ -1179,7 +1179,10 @@ def PICSTRB : ARMPseudoInst<(outs), (ins GPR:$src, addrmodepc:$addr, pred:$p),
// assembler.
let neverHasSideEffects = 1, isReMaterializable = 1 in
// FIXME: We want one cannonical LEApcrel instruction and to express one or
-// both of these as pseudo-instructions that get expanded to it.
+// both of these as pseudo-instructions that get expanded to it. In particular,
+// the cannonical "adr" pattern should take a single label operand, and the
+// JT version should be a pseudo that when lowered to MC, xforms the insn
+// to the canonical form referencing the correct symbol.
def LEApcrel : AXI1<0, (outs GPR:$Rd), (ins i32imm:$label, pred:$p),
MiscFrm, IIC_iALUi,
"adr${p}\t$Rd, #$label", []>;