[pypy-commit] pypy default: Actually use EF_ELIDABLE_CANNOT_RAISE instead of just EF_CANNOT_RAISE

arigo noreply at buildbot.pypy.org
Tue Apr 7 20:56:58 CEST 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r76740:d9afe14d9109
Date: 2015-04-07 20:54 +0200
http://bitbucket.org/pypy/pypy/changeset/d9afe14d9109/

Log:	Actually use EF_ELIDABLE_CANNOT_RAISE instead of just
	EF_CANNOT_RAISE for the 'call_pure', which is more in line with what
	pyjitpl generates.

diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
@@ -3605,7 +3605,7 @@
         ops = '''
         [p1, i1, i4]
         setfield_gc(p1, i1, descr=valuedescr)
-        i3 = call_pure(p1, descr=cannotraisecalldescr)
+        i3 = call_pure(p1, descr=elidablecalldescr)
         setfield_gc(p1, i3, descr=valuedescr)
         jump(p1, i4, i3)
         '''
@@ -3617,7 +3617,7 @@
         preamble = '''
         [p1, i1, i4]
         setfield_gc(p1, i1, descr=valuedescr)
-        i3 = call(p1, descr=cannotraisecalldescr)
+        i3 = call(p1, descr=elidablecalldescr)
         setfield_gc(p1, i3, descr=valuedescr)
         i148 = same_as(i3)
         i147 = same_as(i3)
@@ -3630,7 +3630,7 @@
         ops = '''
         [p1, i1, i4]
         setfield_gc(p1, i1, descr=valuedescr)
-        i3 = call_pure(p1, descr=cannotraisecalldescr)
+        i3 = call_pure(p1, descr=elidablecalldescr)
         setfield_gc(p1, i1, descr=valuedescr)
         jump(p1, i4, i3)
         '''
@@ -3642,8 +3642,7 @@
         preamble = '''
         [p1, i1, i4]
         setfield_gc(p1, i1, descr=valuedescr)
-        i3 = call(p1, descr=cannotraisecalldescr)
-        setfield_gc(p1, i1, descr=valuedescr)
+        i3 = call(p1, descr=elidablecalldescr)
         i151 = same_as(i3)
         jump(p1, i4, i3, i151)
         '''
@@ -3656,15 +3655,15 @@
         [i0, i1, i2]
         escape(i1)
         escape(i2)
-        i3 = call_pure(123456, 4, 5, 6, descr=cannotraisecalldescr)
-        i4 = call_pure(123456, 4, i0, 6, descr=cannotraisecalldescr)
+        i3 = call_pure(123456, 4, 5, 6, descr=elidablecalldescr)
+        i4 = call_pure(123456, 4, i0, 6, descr=elidablecalldescr)
         jump(i0, i3, i4)
         '''
         preamble = '''
         [i0, i1, i2]
         escape(i1)
         escape(i2)
-        i4 = call(123456, 4, i0, 6, descr=cannotraisecalldescr)
+        i4 = call(123456, 4, i0, 6, descr=elidablecalldescr)
         i153 = same_as(i4)
         jump(i0, i4, i153)
         '''
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_util.py b/rpython/jit/metainterp/optimizeopt/test/test_util.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_util.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_util.py
@@ -182,9 +182,10 @@
     FUNC = lltype.FuncType([lltype.Signed], lltype.Signed)
     plaincalldescr = cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,
                                      EffectInfo.MOST_GENERAL)
-    cannotraisecalldescr = cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,
-                                    EffectInfo([], [], [], [valuedescr], [], [],
-                                               EffectInfo.EF_CANNOT_RAISE))
+    elidablecalldescr = cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,
+                                    EffectInfo([valuedescr], [], [],
+                                               [valuedescr], [], [],
+                                         EffectInfo.EF_ELIDABLE_CANNOT_RAISE))
     nonwritedescr = cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,
                                     EffectInfo([], [], [], [], [], []))
     writeadescr = cpu.calldescrof(FUNC, FUNC.ARGS, FUNC.RESULT,


More information about the pypy-commit mailing list