Browse Source

+ tests for dead store removal

git-svn-id: trunk@26299 -
florian 11 years ago
parent
commit
be807d6cef

+ 5 - 0
.gitattributes

@@ -10845,6 +10845,10 @@ tests/test/opt/tcse2.pp svneol=native#text/plain
 tests/test/opt/tcse3.pp svneol=native#text/plain
 tests/test/opt/tcse3.pp svneol=native#text/plain
 tests/test/opt/tcse4.pp svneol=native#text/pascal
 tests/test/opt/tcse4.pp svneol=native#text/pascal
 tests/test/opt/tcse5.pp svneol=native#text/pascal
 tests/test/opt/tcse5.pp svneol=native#text/pascal
+tests/test/opt/tdeadstr1.pp svneol=native#text/pascal
+tests/test/opt/tdeadstr2.pp svneol=native#text/pascal
+tests/test/opt/tdeadstr3.pp svneol=native#text/pascal
+tests/test/opt/tdeadstr4.pp svneol=native#text/pascal
 tests/test/opt/tdfa1.pp svneol=native#text/pascal
 tests/test/opt/tdfa1.pp svneol=native#text/pascal
 tests/test/opt/tdfa10.pp svneol=native#text/pascal
 tests/test/opt/tdfa10.pp svneol=native#text/pascal
 tests/test/opt/tdfa11.pp svneol=native#text/pascal
 tests/test/opt/tdfa11.pp svneol=native#text/pascal
@@ -10876,6 +10880,7 @@ tests/test/opt/twpo4.pp svneol=native#text/plain
 tests/test/opt/twpo5.pp svneol=native#text/plain
 tests/test/opt/twpo5.pp svneol=native#text/plain
 tests/test/opt/twpo6.pp svneol=native#text/plain
 tests/test/opt/twpo6.pp svneol=native#text/plain
 tests/test/opt/twpo7.pp svneol=native#text/plain
 tests/test/opt/twpo7.pp svneol=native#text/plain
+tests/test/opt/udeadstr4.pp svneol=native#text/pascal
 tests/test/opt/uwpo2.pp svneol=native#text/plain
 tests/test/opt/uwpo2.pp svneol=native#text/plain
 tests/test/packages/bzip2/tbzip2streamtest.pp svneol=native#text/plain
 tests/test/packages/bzip2/tbzip2streamtest.pp svneol=native#text/plain
 tests/test/packages/bzip2/testbzip2.res -text
 tests/test/packages/bzip2/testbzip2.res -text

+ 19 - 0
tests/test/opt/tdeadstr1.pp

@@ -0,0 +1,19 @@
+{ %OPT=-O3 -Oodeadstore }
+procedure p;
+  var
+    i : longint;
+  procedure n;
+    begin
+      if i<>1234 then
+        halt(1);
+    end;
+
+  begin
+    i:=1234;
+    n;
+  end;
+
+begin
+  p;
+  writeln('ok');
+end.

+ 19 - 0
tests/test/opt/tdeadstr2.pp

@@ -0,0 +1,19 @@
+{ %OPT=-O3 -Oodeadstore }
+var
+  p : plongint;
+
+procedure p2;
+  var
+    i : longint;
+  begin
+    i:=1234;
+    p:=@i;
+    if p^<>1234 then
+      halt(1);
+  end;
+
+
+begin
+  p2;
+  writeln('ok');
+end.

+ 9 - 0
tests/test/opt/tdeadstr3.pp

@@ -0,0 +1,9 @@
+{ %OPT=-O3 -Oodeadstore }
+var
+  i : longint;
+  b : byte;
+
+begin
+  i:=1234;
+  b:=i;
+end.

+ 9 - 0
tests/test/opt/tdeadstr4.pp

@@ -0,0 +1,9 @@
+{ %OPT=-O3 -Oodeadstore }
+uses
+  udeadstr4;
+
+begin
+  if i<>1234 then
+    halt(1);
+  writeln('ok');
+end.

+ 14 - 0
tests/test/opt/udeadstr4.pp

@@ -0,0 +1,14 @@
+{ %OPT=-O3 -Oodeadstore }
+{ %norun }
+unit udeadstr4;
+
+  interface
+
+    var
+      i : longint;
+
+  implementation
+
+begin
+  i:=1234;
+end.