From de2c03130f404a4849078b22371a9dae07abeed8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Magnus=20L=C3=A5ng?= <margnus1@telia.com>
Date: Fri, 10 Jun 2016 15:07:50 +0200
Subject: hipe_x86: Simplify ra_postconditions is_mem_opnd

This is due to the improvements in hipe_temp_map, removing the need for
duplicated logic in the backends.
---
 .../amd64/hipe_amd64_ra_sse2_postconditions.erl    | 15 ++++--------
 lib/hipe/x86/hipe_x86_ra_postconditions.erl        | 28 +++++++---------------
 2 files changed, 13 insertions(+), 30 deletions(-)

diff --git a/lib/hipe/amd64/hipe_amd64_ra_sse2_postconditions.erl b/lib/hipe/amd64/hipe_amd64_ra_sse2_postconditions.erl
index bbf9170bc3..a8b22595d1 100644
--- a/lib/hipe/amd64/hipe_amd64_ra_sse2_postconditions.erl
+++ b/lib/hipe/amd64/hipe_amd64_ra_sse2_postconditions.erl
@@ -119,17 +119,12 @@ is_mem_opnd(Opnd, TempMap) ->
     #x86_temp{type=double} ->
       Reg = hipe_x86:temp_reg(Opnd),
       case hipe_x86:temp_is_allocatable(Opnd) of
-	true -> 
-	  case tuple_size(TempMap) > Reg of 
+	true ->
+	  case hipe_temp_map:is_spilled(Reg, TempMap) of
 	    true ->
-	      case 
-		hipe_temp_map:is_spilled(Reg, TempMap) of
-		true ->
-		  ?count_temp(Reg),
-		  true;
-		false -> false
-	      end;
-	    _ -> false
+	      ?count_temp(Reg),
+	      true;
+	    false -> false
 	  end;
 	false -> true
       end;
diff --git a/lib/hipe/x86/hipe_x86_ra_postconditions.erl b/lib/hipe/x86/hipe_x86_ra_postconditions.erl
index c245fb86b6..e99746a214 100644
--- a/lib/hipe/x86/hipe_x86_ra_postconditions.erl
+++ b/lib/hipe/x86/hipe_x86_ra_postconditions.erl
@@ -389,19 +389,12 @@ is_mem_opnd(Opnd, TempMap) ->
 	Reg = hipe_x86:temp_reg(Opnd),
 	case hipe_x86:temp_is_allocatable(Opnd) of
 	  true ->
-	    case tuple_size(TempMap) > Reg of
+	    case
+	      hipe_temp_map:is_spilled(Reg, TempMap) of
 	      true ->
-		case
-		  hipe_temp_map:is_spilled(Reg, TempMap) of
-		  true ->
-		    ?count_temp(Reg),
-		    true;
-		  false -> false
-		end;
-	      _ ->
-		%% impossible, but was true in ls post and false in normal post
-		exit({?MODULE,is_mem_opnd,Reg}),
-		false
+		?count_temp(Reg),
+		true;
+	      false -> false
 	    end;
 	  false -> true
 	end;
@@ -416,15 +409,10 @@ is_spilled(Temp, TempMap) ->
   case hipe_x86:temp_is_allocatable(Temp) of
     true ->
       Reg = hipe_x86:temp_reg(Temp),
-      case tuple_size(TempMap) > Reg of
+      case hipe_temp_map:is_spilled(Reg, TempMap) of
 	true ->
-	  case hipe_temp_map:is_spilled(Reg, TempMap) of
-	    true ->
-	      ?count_temp(Reg),
-	      true;
-	    false ->
-	      false
-	  end;
+	  ?count_temp(Reg),
+	  true;
 	false ->
 	  false
       end;
-- 
cgit v1.2.3