- Mark the BCC and BLR defs as isCodeGenOnly per error output from

llvm-tblgen -gen-asm-matcher.

 PPCInstrInfo.td |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

llvm-svn: 165315
This commit is contained in:
Will Schmidt 2012-10-05 15:16:11 +00:00
parent 6636dee46e
commit 99e42ee9a3

View File

@ -418,7 +418,7 @@ def RESTORE_CR : Pseudo<(outs CRRC:$cond), (ins memri:$F),
"#RESTORE_CR", []>; "#RESTORE_CR", []>;
let isTerminator = 1, isBarrier = 1, PPC970_Unit = 7 in { let isTerminator = 1, isBarrier = 1, PPC970_Unit = 7 in {
let isReturn = 1, Uses = [LR, RM] in let isCodeGenOnly = 1, isReturn = 1, Uses = [LR, RM] in
def BLR : XLForm_2_br<19, 16, 0, (outs), (ins pred:$p), def BLR : XLForm_2_br<19, 16, 0, (outs), (ins pred:$p),
"b${p:cc}lr ${p:reg}", BrB, "b${p:cc}lr ${p:reg}", BrB,
[(retflag)]>; [(retflag)]>;
@ -439,10 +439,11 @@ let isBranch = 1, isTerminator = 1, hasCtrlDep = 1, PPC970_Unit = 7 in {
// BCC represents an arbitrary conditional branch on a predicate. // BCC represents an arbitrary conditional branch on a predicate.
// FIXME: should be able to write a pattern for PPCcondbranch, but can't use // FIXME: should be able to write a pattern for PPCcondbranch, but can't use
// a two-value operand where a dag node expects two operands. :( // a two-value operand where a dag node expects two operands. :(
def BCC : BForm<16, 0, 0, (outs), (ins pred:$cond, condbrtarget:$dst), let isCodeGenOnly = 1 in
"b${cond:cc} ${cond:reg}, $dst" def BCC : BForm<16, 0, 0, (outs), (ins pred:$cond, condbrtarget:$dst),
/*[(PPCcondbranch CRRC:$crS, imm:$opc, bb:$dst)]*/>; "b${cond:cc} ${cond:reg}, $dst"
/*[(PPCcondbranch CRRC:$crS, imm:$opc, bb:$dst)]*/>;
let Defs = [CTR], Uses = [CTR] in { let Defs = [CTR], Uses = [CTR] in {
def BDZ : IForm_ext<16, 18, 0, 0, (outs), (ins condbrtarget:$dst), def BDZ : IForm_ext<16, 18, 0, 0, (outs), (ins condbrtarget:$dst),