summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AVR
diff options
context:
space:
mode:
authorDylan McKay <me@dylanmckay.io>2018-06-11 14:46:48 +0000
committerDylan McKay <me@dylanmckay.io>2018-06-11 14:46:48 +0000
commitd011869c82cc2b2a0b0ca3fa1fe27f359dc3e26f (patch)
tree2d12d32c3adb7f9bfb8837718e02756838f987c8 /llvm/lib/Target/AVR
parent6bb103f9facf48253b3a29c37d8870e7abaa7ff5 (diff)
downloadbcm5719-llvm-d011869c82cc2b2a0b0ca3fa1fe27f359dc3e26f.tar.gz
bcm5719-llvm-d011869c82cc2b2a0b0ca3fa1fe27f359dc3e26f.zip
[AVR] Set trackLivenessAfterRegAlloc
This sets trackLivenessAfterRegAlloc on AVRRegisterInfo. Most existing targets set this flag. Without it, specific IR inputs cause LLVM to fail with: Assertion failed: (getParent()->getProperties().hasProperty( MachineFunctionProperties::Property::TracksLiveness) && "Liveness information is accurate"), function livein_begin file MachineBasicBlock.cpp, line 1354. With this commit, this no longer happens. Patch by Peter Nimmervoll. llvm-svn: 334409
Diffstat (limited to 'llvm/lib/Target/AVR')
-rw-r--r--llvm/lib/Target/AVR/AVRRegisterInfo.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/AVR/AVRRegisterInfo.h b/llvm/lib/Target/AVR/AVRRegisterInfo.h
index f8fefb85968..104b336b9c4 100644
--- a/llvm/lib/Target/AVR/AVRRegisterInfo.h
+++ b/llvm/lib/Target/AVR/AVRRegisterInfo.h
@@ -51,6 +51,11 @@ public:
/// Splits a 16-bit `DREGS` register into the lo/hi register pair.
/// \param Reg A 16-bit register to split.
void splitReg(unsigned Reg, unsigned &LoReg, unsigned &HiReg) const;
+
+ bool trackLivenessAfterRegAlloc(const MachineFunction &) const override {
+ return true;
+ }
+
};
} // end namespace llvm
OpenPOWER on IntegriCloud