[commit: ghc] master: Allow multiple entry points when allocating recursive groups (#9303) (da70f9e)
git at git.haskell.org
git at git.haskell.org
Thu Jul 31 07:55:50 UTC 2014
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/da70f9ef49a545707dc32db9662441b9c8845fba/ghc
>---------------------------------------------------------------
commit da70f9ef49a545707dc32db9662441b9c8845fba
Author: Simon Marlow <marlowsd at gmail.com>
Date: Tue Jul 22 12:04:32 2014 +0100
Allow multiple entry points when allocating recursive groups (#9303)
Summary:
In this example we ended up with some code that was only reachable via
an info table, because a branch had been optimised away by the native
code generator. The register allocator then got confused because it
was only considering the first block of the proc to be an entry point,
when actually any of the info tables are entry points.
Test Plan: validate
Reviewers: simonpj, austin
Subscribers: simonmar, relrod, carter
Differential Revision: https://phabricator.haskell.org/D88
>---------------------------------------------------------------
da70f9ef49a545707dc32db9662441b9c8845fba
compiler/nativeGen/RegAlloc/Linear/Main.hs | 48 ++++++++++++-------------
compiler/nativeGen/RegAlloc/Liveness.hs | 26 ++++++++------
testsuite/tests/codeGen/should_compile/T9303.hs | 10 ++++++
testsuite/tests/codeGen/should_compile/all.T | 1 +
4 files changed, 50 insertions(+), 35 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc da70f9ef49a545707dc32db9662441b9c8845fba
More information about the ghc-commits
mailing list