skip a few identity checks that timeout
MODIFY
tests/alive-tv/bugs/pr1261.srctgt.ll
tests/alive-tv/bugs/pr1261.srctgt.ll
+; TEST-ARGS: -disable-undef-input
+
; https://bugs.llvm.org/show_bug.cgi?id=1261
; This shows that pr1261 was not a bug. :) (which matches with the final conclusion)

MODIFY
tests/alive-tv/bugs/pr18223.srctgt.ll
tests/alive-tv/bugs/pr18223.srctgt.ll
; Currently Alive2 simply rejects this example. After loop support, this should
; be verified (as an incorrect transformation)
-; ModuleID = 'bugpoint-passinput.bc'
-source_filename = "bugpoint-passinput.bc"
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@@ -145,8 +143,5 @@ attributes #0 = { nounwind uwtable "frame-pointer"="none" "less-precise-fpmad"="
attributes #1 = { nounwind "frame-pointer"="none" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #2 = { nounwind }
-!llvm.ident = !{!0}
-
-!0 = !{!"clang version 3.5 (trunk 197176) (llvm/trunk 197178)"}
-
; XFAIL: Precondition is always false
+; SKIP-IDENTITY

MODIFY
tests/alive-tv/bugs/pr31243.srctgt.ll
tests/alive-tv/bugs/pr31243.srctgt.ll
+; TEST-ARGS: -disable-undef-input
+
; https://bugs.llvm.org/show_bug.cgi?id=31243
target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
target triple = "i386-apple-macosx10.11.0"

MODIFY
tests/alive-tv/bugs/pr35406.srctgt.ll
tests/alive-tv/bugs/pr35406.srctgt.ll
@@ -86,3 +86,4 @@ exit: ; preds = %loop2.exit, %loop1
}
; XFAIL: Precondition is always false
+; SKIP-IDENTITY

MODIFY
tests/alive-tv/bugs/pr36437.srctgt.ll
tests/alive-tv/bugs/pr36437.srctgt.ll
@@ -53,6 +53,7 @@ for.end: ; preds = %for.body
}
; XFAIL: Precondition is always false
+; SKIP-IDENTITY
@b = global i32 2, align 4
@c = global i32* @b, align 8

MODIFY
tests/alive-tv/bugs/pr37540.srctgt.ll
tests/alive-tv/bugs/pr37540.srctgt.ll
@@ -28,3 +28,4 @@ bb2: ; preds = %0
}
; XFAIL: Unsupported metadata: 11
+; SKIP-IDENTITY

MODIFY
tests/alive-tv/bugs/pr42699.srctgt.ll
tests/alive-tv/bugs/pr42699.srctgt.ll
; Reported by Alive2
+; TEST-ARGS: -disable-undef-input
define i64 @src(i8* %foo, i64 %i, i64 %j) {
%bit = bitcast i8* %foo to i32*

MODIFY
tests/alive-tv/bugs/pr44321.srctgt.ll
tests/alive-tv/bugs/pr44321.srctgt.ll
; Found by Alive2
+; TEST-ARGS: -disable-undef-input
define i32* @src(<7 x i32>* %x, i64 %y, i64 %z) {
%arr_ptr = bitcast <7 x i32>* %x to [7 x i32]*

MODIFY
tests/alive-tv/bugs/pr44543.srctgt.ll
tests/alive-tv/bugs/pr44543.srctgt.ll
; Found by Alive2
+; SKIP-IDENTITY
+
target datalayout = "p:64:64:64-i64:32:32"
define i64* @src(i8* %x) {

MODIFY
tests/alive-tv/bugs/pr44861.srctgt.ll
tests/alive-tv/bugs/pr44861.srctgt.ll
; Found by Alive2
+; TEST-ARGS: -disable-undef-input
declare void @g(i8*)
define void @src(i8* %ptr, i1 %cc1, i1 %cc2, i1 %cc3, i32 %arg) {

MODIFY
tests/alive-tv/bugs/pr45152.srctgt.ll
tests/alive-tv/bugs/pr45152.srctgt.ll
; Found by Alive
+; SKIP-IDENTITY
@Q = internal unnamed_addr global double 1.000000e+00, align 8

MODIFY
tests/alive-tv/bugs/pr45445.srctgt.ll
tests/alive-tv/bugs/pr45445.srctgt.ll
; Found by Alive2
+; SKIP-IDENTITY
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"

MODIFY
tests/alive-tv/bugs/pr46591.srctgt.ll
tests/alive-tv/bugs/pr46591.srctgt.ll
; https://bugs.llvm.org/show_bug.cgi?id=46591
+; TEST-ARGS: -disable-undef-input
target triple = "x86_64--"

MODIFY
tests/alive-tv/memory/memcmp-opt-littleendian-fail.srctgt.ll
tests/alive-tv/memory/memcmp-opt-littleendian-fail.srctgt.ll
+; TEST-ARGS: -disable-undef-input
+
target datalayout = "e-p:64:64:64"
; ex) %x = 0x1020, %y = 0x30

MODIFY
tests/lit/lit/formats/alive2test.py
tests/lit/lit/formats/alive2test.py
@@ -49,6 +49,7 @@ class Alive2Test(TestFormat):
self.regex_args = re.compile(r";\s*TEST-ARGS:(.*)")
self.regex_check = re.compile(r";\s*CHECK:(.*)")
self.regex_check_not = re.compile(r";\s*CHECK-NOT:(.*)")
+ self.regex_skip_identity = re.compile(r";\s*SKIP-IDENTITY")
self.regex_errs_out = re.compile("ERROR:.*")
def getTestsInDirectory(self, testSuite, path_in_suite,
@@ -88,15 +89,17 @@ class Alive2Test(TestFormat):
if m != None:
cmd += m.group(1).split()
+ do_identity = self.regex_skip_identity.search(input) is None
+
# Run identity check first
- if alive_tv_1:
+ if alive_tv_1 and do_identity:
try:
id_check('src', cmd, [test, '-src-fn=src', '-tgt-fn=src'])
id_check('tgt', cmd, [test, '-src-fn=tgt', '-tgt-fn=tgt'])
except Exception as e:
return lit.Test.FAIL, e
- if alive_tv_2:
+ if alive_tv_2 and do_identity:
try:
id_check('src', cmd, [test, test])
tgtpath = test.replace('.src.ll', '.tgt.ll')

skip a few identity checks that timeout