OSDN Git Service

[AVR] Set trackLivenessAfterRegAlloc
authorDylan McKay <me@dylanmckay.io>
Mon, 11 Jun 2018 14:46:48 +0000 (14:46 +0000)
committerDylan McKay <me@dylanmckay.io>
Mon, 11 Jun 2018 14:46:48 +0000 (14:46 +0000)
commitb6377293f2278f2757a431e7ccae4c74c9940606
tree3d78f2a512ea1b111e0424f8f51cd54b8cc58f96
parentca4e52250832aeb566ed2939c2df063d851b4292
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334409 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AVR/AVRRegisterInfo.h
test/CodeGen/AVR/rust-avr-bug-99.ll [new file with mode: 0644]