diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-01-18 00:16:39 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-01-18 00:16:39 +0000 |
commit | f43b599550333f05c6cff87d211c41215cb5716f (patch) | |
tree | 2ea146f91b5d1fafa3047aa7cc16f2ca63cfa0a0 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 9619961e1b268967a5b0a120edcab1af2e0d4cba (diff) | |
download | bcm5719-llvm-f43b599550333f05c6cff87d211c41215cb5716f.tar.gz bcm5719-llvm-f43b599550333f05c6cff87d211c41215cb5716f.zip |
Add a CoveredBySubRegs property to Register descriptions.
When set, this bit indicates that a register is completely defined by
the value of its sub-registers.
Use the CoveredBySubRegs property to infer which super-registers are
call-preserved given a list of callee-saved registers. For example, the
ARM registers D8-D15 are callee-saved. This now automatically implies
that Q4-Q7 are call-preserved.
Conversely, Win64 callees save XMM6-XMM15, but the corresponding
YMM6-YMM15 registers are not call-preserved because they are not fully
defined by their sub-registers.
llvm-svn: 148363
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions