summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-05-24 14:14:38 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-05-24 14:14:38 +0000
commit675f86996afcf245f1dfae588c21ec8dd58f81b1 (patch)
tree89f2b0afca1c5b74fb4cebc3d70aa7e6c5390cef /clang/lib/CodeGen/CodeGenModule.cpp
parent7d1e660b03e26a43791e3af2c30f5b3ef5538095 (diff)
downloadbcm5719-llvm-675f86996afcf245f1dfae588c21ec8dd58f81b1.tar.gz
bcm5719-llvm-675f86996afcf245f1dfae588c21ec8dd58f81b1.zip
[SystemZ] Improve AsmParser register parsing
The idea is to make sure that: (1) "register expected" is restricted to cases where ParseRegister() is called and the token obviously isn't a register. (2) "invalid register" is restricted to cases where a register-like "%..." sequence is found, but the "..." makes no sense. (3) the generic "invalid operand for instruction" is used in cases where the wrong register type is used (GPR instead of FPR, etc.). (4) the new "invalid register pair" is used if the register has the right type, but is not a valid register pair. Testing of (1)-(3) is now restricted to regs-bad.s. It uses a representative instruction for each register class to make sure that only registers from that class are accepted. (4) is tested by both regs-bad.s (which checks all invalid register pairs) and insn-bad.s (which tests one invalid pair for each instruction that requires a pair). While there, I changed "Number" to "Num" for consistency with the operand class. llvm-svn: 182643
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud