diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2017-01-05 17:02:00 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-01-10 13:22:30 -0500 |
commit | e94b07dc791960439df18cfa600a2f42fc945336 (patch) | |
tree | 671c21832d3dc716cdc84bbbeb233a64f14731ba /compiler/cmm | |
parent | 1a6bdca01b7ac214d8aca52927e14547395697e8 (diff) | |
download | haskell-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/cmm')
-rw-r--r-- | compiler/cmm/CmmCommonBlockElim.hs | 2 |
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. |