[llvm-commits] CVS: llvm/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp

Brian Gaeke gaeke at cs.uiuc.edu
Mon Aug 23 23:41:52 PDT 2004



Changes in directory llvm/lib/Target/SparcV9/RegAlloc:

PhyRegAlloc.cpp updated: 1.163 -> 1.164
---
Log message:

Fix bug in PhyRegAlloc::setCallInterferences() handling call through a
null pointer.


---
Diffs of the changes:  (+3 -2)

Index: llvm/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp
diff -u llvm/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp:1.163 llvm/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp:1.164
--- llvm/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp:1.163	Wed Aug 18 15:04:24 2004
+++ llvm/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp	Tue Aug 24 01:41:39 2004
@@ -204,8 +204,9 @@
   // 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();
   }
 }
 






More information about the llvm-commits mailing list