summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2017-01-05 17:02:00 -0500
committerBen Gamari <ben@smart-cactus.org>2017-01-10 13:22:30 -0500
commite94b07dc791960439df18cfa600a2f42fc945336 (patch)
tree671c21832d3dc716cdc84bbbeb233a64f14731ba /compiler
parent1a6bdca01b7ac214d8aca52927e14547395697e8 (diff)
downloadhaskell-e94b07dc791960439df18cfa600a2f42fc945336.tar.gz
CmmCommonBlockElim: Ignore CmmUnwind nodes
We don't want unwind information to affect the code we produce. Consequently we need to ensure that CBE ignores unwind nodes for the purposes of equality. Test Plan: Validate Reviewers: scpmw, simonmar, austin Reviewed By: simonmar Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2739
Diffstat (limited to 'compiler')
-rw-r--r--compiler/cmm/CmmCommonBlockElim.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/cmm/CmmCommonBlockElim.hs b/compiler/cmm/CmmCommonBlockElim.hs
index 989eb2fb18..3dc8202274 100644
--- a/compiler/cmm/CmmCommonBlockElim.hs
+++ b/compiler/cmm/CmmCommonBlockElim.hs
@@ -134,7 +134,6 @@ hash_block block =
hash_node :: CmmNode O x -> Word32
hash_node n | dont_care n = 0 -- don't care
- hash_node (CmmUnwind _ e) = hash_e e
hash_node (CmmAssign r e) = hash_reg r + hash_e e
hash_node (CmmStore e e') = hash_e e + hash_e e'
hash_node (CmmUnsafeForeignCall t _ as) = hash_tgt t + hash_list hash_e as
@@ -181,6 +180,7 @@ hash_block block =
dont_care :: CmmNode O x -> Bool
dont_care CmmComment {} = True
dont_care CmmTick {} = True
+dont_care CmmUnwind {} = True
dont_care _other = False
-- Utilities: equality and substitution on the graph.