summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/PIC.hs
diff options
context:
space:
mode:
authorGabor Greif <ggreif@gmail.com>2013-04-08 01:38:49 +0200
committerGabor Greif <ggreif@gmail.com>2013-04-12 00:29:13 +0200
commit6afa7779b9614aea7130238b31f4864616f9205e (patch)
tree2e86a7e0c2caddc48b1f5585ce496637f94ea780 /compiler/nativeGen/PIC.hs
parentaf12cf66d1a416a135cb98b86717aba2cd247e1a (diff)
downloadhaskell-6afa7779b9614aea7130238b31f4864616f9205e.tar.gz
Make explicit that there can be only one entry point
per cmm procedure on Darwin/PPC, because of splitting. x86 should be treated the same way, I'll come back to that later.
Diffstat (limited to 'compiler/nativeGen/PIC.hs')
-rw-r--r--compiler/nativeGen/PIC.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/nativeGen/PIC.hs b/compiler/nativeGen/PIC.hs
index b9aa8bed3a..5fff8cbdbb 100644
--- a/compiler/nativeGen/PIC.hs
+++ b/compiler/nativeGen/PIC.hs
@@ -729,10 +729,10 @@ initializePicBase_ppc ArchPPC os picReg
initializePicBase_ppc ArchPPC OSDarwin picReg
- (CmmProc info lab live (ListGraph blocks) : statics)
- = return (CmmProc info lab live (ListGraph (b':tail blocks)) : statics)
+ (CmmProc info lab live (ListGraph (entry:blocks)) : statics) -- just one entry because of splitting
+ = return (CmmProc info lab live (ListGraph (b':blocks)) : statics)
- where BasicBlock bID insns = head blocks
+ where BasicBlock bID insns = entry
b' = BasicBlock bID (PPC.FETCHPC picReg : insns)