summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2016-07-16 01:36:18 +0000
committerMatthias Braun <matze@braunis.de>2016-07-16 01:36:18 +0000
commit5d00b3213e42d09ec309ad8daf93c66d3d92ea0b (patch)
tree3844364dc687ea17d07fceedaf059f343bbaabdf /llvm/lib/CodeGen
parent3bfed9663244793cc153d02514893e4ff147e9e3 (diff)
downloadbcm5719-llvm-5d00b3213e42d09ec309ad8daf93c66d3d92ea0b.tar.gz
bcm5719-llvm-5d00b3213e42d09ec309ad8daf93c66d3d92ea0b.zip
MIParser: reject subregister indexes on physregs
llvm-svn: 275658
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/MIRParser/MIParser.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
index 0b5c59dee0c..b3fd16f1588 100644
--- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp
+++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
@@ -962,6 +962,8 @@ bool MIParser::parseRegisterOperand(MachineOperand &Dest,
if (Token.is(MIToken::colon)) {
if (parseSubRegisterIndex(SubReg))
return true;
+ if (!TargetRegisterInfo::isVirtualRegister(Reg))
+ return error("subregister index expects a virtual register");
}
if ((Flags & RegState::Define) == 0) {
if (consumeIfPresent(MIToken::lparen)) {
OpenPOWER on IntegriCloud