aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SparcV9/RegAlloc
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-08-24 06:41:39 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-08-24 06:41:39 +0000
commitf1b7eb145e5376ee46b95040d1ec09a4c98ed1bc (patch)
tree5bee57c0becb666d97a939c3f3c89cc523570769 /lib/Target/SparcV9/RegAlloc
parentac9edd5faae048507c65c9d319b7904e43a49dec (diff)
downloadexternal_llvm-f1b7eb145e5376ee46b95040d1ec09a4c98ed1bc.zip
external_llvm-f1b7eb145e5376ee46b95040d1ec09a4c98ed1bc.tar.gz
external_llvm-f1b7eb145e5376ee46b95040d1ec09a4c98ed1bc.tar.bz2
Fix bug in PhyRegAlloc::setCallInterferences() handling call through a
null pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16013 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SparcV9/RegAlloc')
-rw-r--r--lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp
index 02f18fc..bbbaee8 100644
--- a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp
+++ b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp
@@ -204,8 +204,9 @@ void PhyRegAlloc::setCallInterferences(const MachineInstr *MInst,
// That has a call interference because it conflicts with outgoing args.
if (const Value *AddrVal = argDesc->getIndirectFuncPtr()) {
LiveRange *AddrValLR = LRI->getLiveRangeForValue( AddrVal );
- assert( AddrValLR && "No LR for indirect addr val of call");
- AddrValLR->setCallInterference();
+ // LR can be null if the function pointer is a constant.
+ if (AddrValLR)
+ AddrValLR->setCallInterference();
}
}