diff options
author | Hal Finkel <hfinkel@anl.gov> | 2015-10-28 22:25:52 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2015-10-28 22:25:52 +0000 |
commit | 34d4149452225e61e14ba346dde223183f617658 (patch) | |
tree | ef5650fec6101236f52d2a6452d478b9ee456959 /llvm/lib/Target/PowerPC/PPCISelLowering.cpp | |
parent | b9ad4e60638131f4d68c18f128bf44ccec2cd77c (diff) | |
download | bcm5719-llvm-34d4149452225e61e14ba346dde223183f617658.tar.gz bcm5719-llvm-34d4149452225e61e14ba346dde223183f617658.zip |
[PowerPC] Cleanly reject asm crbit constraint with -crbits
When crbits are disabled, cleanly reject the constraint (return the register
class only to cause an assert later).
llvm-svn: 251566
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp index b1f87831860..ce6f3a6e75d 100644 --- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp +++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp @@ -10927,7 +10927,8 @@ PPCTargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI, case 'y': // crrc return std::make_pair(0U, &PPC::CRRCRegClass); } - } else if (Constraint == "wc") { // an individual CR bit. + } else if (Constraint == "wc" && Subtarget.useCRBits()) { + // An individual CR bit. return std::make_pair(0U, &PPC::CRBITRCRegClass); } else if (Constraint == "wa" || Constraint == "wd" || Constraint == "wf") { |