summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86RegisterInfo.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-07-02 19:05:09 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-07-02 19:05:09 +0000
commitfd97494984071cbdf32432654d660b9cf4eca77a (patch)
treecf66efa6181316ae97d8d86e83072f4b49453e3e /llvm/lib/Target/X86/X86RegisterInfo.cpp
parent0e15501fa71f46eb0059bd6c15b8be6e07ca924c (diff)
downloadbcm5719-llvm-fd97494984071cbdf32432654d660b9cf4eca77a.tar.gz
bcm5719-llvm-fd97494984071cbdf32432654d660b9cf4eca77a.zip
[X86] Add phony registers for high halves of regs with low halves
Add registers still missing after r328016 (D43353): - for bits 15-8 of SI, DI, BP, SP (*H), and R8-R15 (*BH), - for bits 31-16 of R8-R15 (*WH). Thanks to Craig Topper for pointing it out. llvm-svn: 336134
Diffstat (limited to 'llvm/lib/Target/X86/X86RegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/X86/X86RegisterInfo.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp
index f979cc51da4..55842a4a209 100644
--- a/llvm/lib/Target/X86/X86RegisterInfo.cpp
+++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp
@@ -552,6 +552,10 @@ BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
Reserved.set(X86::DIL);
Reserved.set(X86::BPL);
Reserved.set(X86::SPL);
+ Reserved.set(X86::SIH);
+ Reserved.set(X86::DIH);
+ Reserved.set(X86::BPH);
+ Reserved.set(X86::SPH);
for (unsigned n = 0; n != 8; ++n) {
// R8, R9, ...
@@ -571,7 +575,8 @@ BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
}
assert(checkAllSuperRegsMarked(Reserved,
- {X86::SIL, X86::DIL, X86::BPL, X86::SPL}));
+ {X86::SIL, X86::DIL, X86::BPL, X86::SPL,
+ X86::SIH, X86::DIH, X86::BPH, X86::SPH}));
return Reserved;
}
OpenPOWER on IntegriCloud