[llvm-commits] CVS: llvm/lib/Target/IA64/IA64RegisterInfo.cpp
Evan Cheng
evan.cheng at apple.com
Thu Feb 22 17:10:31 PST 2007
Changes in directory llvm/lib/Target/IA64:
IA64RegisterInfo.cpp updated: 1.32 -> 1.33
---
Log message:
By default, spills kills the register being stored.
---
Diffs of the changes: (+6 -5)
IA64RegisterInfo.cpp | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
Index: llvm/lib/Target/IA64/IA64RegisterInfo.cpp
diff -u llvm/lib/Target/IA64/IA64RegisterInfo.cpp:1.32 llvm/lib/Target/IA64/IA64RegisterInfo.cpp:1.33
--- llvm/lib/Target/IA64/IA64RegisterInfo.cpp:1.32 Wed Feb 21 16:54:50 2007
+++ llvm/lib/Target/IA64/IA64RegisterInfo.cpp Thu Feb 22 19:10:03 2007
@@ -42,17 +42,18 @@
const TargetRegisterClass *RC) const{
if (RC == IA64::FPRegisterClass) {
- BuildMI(MBB, MI, TII.get(IA64::STF_SPILL)).addFrameIndex(FrameIdx).addReg(SrcReg);
+ BuildMI(MBB, MI, TII.get(IA64::STF_SPILL)).addFrameIndex(FrameIdx)
+ .addReg(SrcReg, false, false, true);
} else if (RC == IA64::GRRegisterClass) {
- BuildMI(MBB, MI, TII.get(IA64::ST8)).addFrameIndex(FrameIdx).addReg(SrcReg);
- }
- else if (RC == IA64::PRRegisterClass) {
+ BuildMI(MBB, MI, TII.get(IA64::ST8)).addFrameIndex(FrameIdx)
+ .addReg(SrcReg, false, false, true);
+ } else if (RC == IA64::PRRegisterClass) {
/* we use IA64::r2 as a temporary register for doing this hackery. */
// first we load 0:
BuildMI(MBB, MI, TII.get(IA64::MOV), IA64::r2).addReg(IA64::r0);
// then conditionally add 1:
BuildMI(MBB, MI, TII.get(IA64::CADDIMM22), IA64::r2).addReg(IA64::r2)
- .addImm(1).addReg(SrcReg);
+ .addImm(1).addReg(SrcReg, false, false, true);
// and then store it to the stack
BuildMI(MBB, MI, TII.get(IA64::ST8)).addFrameIndex(FrameIdx).addReg(IA64::r2);
} else assert(0 &&
More information about the llvm-commits
mailing list