aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-06-05 10:09:13 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-06-05 10:09:13 +0000
commit1c21929692bf5b6c063c3faaba9da90d04b2e332 (patch)
tree79aef6e34cb8d8ee7e603f70a6a4be6789fe08b3 /test
parent40ddb7ac71682a881d9d0cd856295d4f0240dc24 (diff)
downloadklee-1c21929692bf5b6c063c3faaba9da90d04b2e332.tar.gz
Support the extended query command syntax.
- There are two optional lists following the constraints and the query expression. The first is a list of expressions to give values for and the second is a list of arrays to provide values for. - Update ExprPPrinter to accept extra arguments to print these arguments. - Add Parser support. - Add more ArrayDecl support. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@72938 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Expr/Parser/Exprs.pc390
-rw-r--r--test/Feature/ExprLogging.c7
2 files changed, 147 insertions, 250 deletions
diff --git a/test/Expr/Parser/Exprs.pc b/test/Expr/Parser/Exprs.pc
index 3d37bf9b..9357e0c1 100644
--- a/test/Expr/Parser/Exprs.pc
+++ b/test/Expr/Parser/Exprs.pc
@@ -1,390 +1,288 @@
+# Taken from Features/ExprLogging.c
+
# FIXME: Make this test actual check for something (other than
# crashing/errors).
# RUN: %kleaver -print-ast %s
-# Query 0 -- Type: Truth, Instructions: 33
-(query [] (Not (Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 0 -- Type: Truth, Instructions: 36
+(query [] (Not (Ult (ReadLSB w32 0 arr119)
16)))
-# OK -- Elapsed: 0.000977993
+# OK -- Elapsed: 0.000962901
# Is Valid: false
-# Query 1 -- Type: Value, Instructions: 41
-(query [(Ult N0:(Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 1 -- Type: Value, Instructions: 45
+(query [(Ult N0:(ReadLSB w32 0 arr119)
16)]
- (Add w32 174331008 (Mul w32 4 N0)))
-# OK -- Elapsed: 3.38554e-05
-# Result: 174331008
+ false
+ [(Add w32 168649296 (Mul w32 4 N0))])
+# OK -- Elapsed: 4.09303e-05
+# Result: 168649296
-# Query 2 -- Type: Truth, Instructions: 41
-(query [(Ult N0:(Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 2 -- Type: Truth, Instructions: 45
+(query [(Ult N0:(ReadLSB w32 0 arr119)
16)]
(Ult (Mul w32 4 N0) 61))
-# OK -- Elapsed: 0.00113606
+# OK -- Elapsed: 0.00111999
# Is Valid: true
-# Query 3 -- Type: Truth, Instructions: 57
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 3 -- Type: Truth, Instructions: 66
+(query [(Ult (ReadLSB w32 0 arr119)
16)]
- (Not (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Not (Ult (ReadLSB w32 0 arr126)
16)))
-# OK -- Elapsed: 0.000864983
+# OK -- Elapsed: 0.000853909
# Is Valid: false
-# Query 4 -- Type: Value, Instructions: 62
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 4 -- Type: Value, Instructions: 72
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult N0:(Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult N0:(ReadLSB w32 0 arr126)
16)]
- (Add w32 174331008 (Mul w32 4 N0)))
-# OK -- Elapsed: 3.60012e-05
-# Result: 174331008
+ false
+ [(Add w32 168649296 (Mul w32 4 N0))])
+# OK -- Elapsed: 3.89818e-05
+# Result: 168649296
-# Query 5 -- Type: Truth, Instructions: 62
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 5 -- Type: Truth, Instructions: 72
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult N0:(Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult N0:(ReadLSB w32 0 arr126)
16)]
(Ult (Mul w32 4 N0) 61))
-# OK -- Elapsed: 0.00109196
+# OK -- Elapsed: 0.00109102
# Is Valid: true
-# Query 6 -- Type: Truth, Instructions: 79
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 6 -- Type: Truth, Instructions: 94
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)]
- (Not (Ult (Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Not (Ult (ReadLSB w32 0 arr133)
16)))
-# OK -- Elapsed: 0.00089097
+# OK -- Elapsed: 0.000877942
# Is Valid: false
-# Query 7 -- Type: Value, Instructions: 87
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 7 -- Type: Value, Instructions: 103
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)
- (Ult N0:(Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult N0:(ReadLSB w32 0 arr133)
16)]
- (Add w32 174331008 (Mul w32 4 N0)))
-# OK -- Elapsed: 4.41074e-05
-# Result: 174331008
+ false
+ [(Add w32 168649296 (Mul w32 4 N0))])
+# OK -- Elapsed: 4.81055e-05
+# Result: 168649296
-# Query 8 -- Type: Truth, Instructions: 87
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 8 -- Type: Truth, Instructions: 103
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)
- (Ult N0:(Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult N0:(ReadLSB w32 0 arr133)
16)]
(Ult (Mul w32 4 N0) 61))
-# OK -- Elapsed: 0.00111794
+# OK -- Elapsed: 0.00110997
# Is Valid: true
-# Query 9 -- Type: Truth, Instructions: 103
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 9 -- Type: Truth, Instructions: 124
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)
- (Ult (Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult (ReadLSB w32 0 arr133)
16)]
(And (Not (Eq 3
- N0:(Concat w32 (Read w8 3 arr86)
- (Concat w24 (Read w8 2 arr86)
- (ReadLSB w16 0 arr86)))))
+ N0:(ReadLSB w32 0 arr140)))
(And (Not (Eq 2 N0))
(And (Not (Eq 1 N0))
(Not (Eq 0 N0))))))
-# OK -- Elapsed: 0.00117898
+# OK -- Elapsed: 0.00117305
# Is Valid: false
-# Query 10 -- Type: Value, Instructions: 108
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 10 -- Type: Value, Instructions: 130
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)
- (Ult (Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult (ReadLSB w32 0 arr133)
16)
(Not (And (Not (Eq 3
- N0:(Concat w32 (Read w8 3 arr86)
- (Concat w24 (Read w8 2 arr86)
- (ReadLSB w16 0 arr86)))))
+ N0:(ReadLSB w32 0 arr140)))
(And (Not (Eq 2 N0))
(And (Not (Eq 1 N0))
(Not (Eq 0 N0))))))]
- (Add w32 174291904 N0))
-# OK -- Elapsed: 5.91278e-05
-# Result: 174291907
+ false
+ [(Add w32 168742656 N0)])
+# OK -- Elapsed: 6.11061e-05
+# Result: 168742659
-# Query 11 -- Type: Truth, Instructions: 108
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 11 -- Type: Truth, Instructions: 130
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)
- (Ult (Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult (ReadLSB w32 0 arr133)
16)
(Not (And (Not N0:(Eq 3
- N1:(Concat w32 (Read w8 3 arr86)
- (Concat w24 (Read w8 2 arr86)
- (ReadLSB w16 0 arr86)))))
+ N1:(ReadLSB w32 0 arr140)))
(And (Not N2:(Eq 2 N1))
(And (Not N3:(Eq 1 N1))
(Not N4:(Eq 0 N1))))))]
(Or N0
(Or N2 (Or N3 N4))))
-# OK -- Elapsed: 0.00145888
+# OK -- Elapsed: 0.00146289
# Is Valid: true
-# Query 12 -- Type: Truth, Instructions: 114
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 12 -- Type: Truth, Instructions: 136
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)
- (Ult (Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult (ReadLSB w32 0 arr133)
16)
(Not (And (Not (Eq 3
- N0:(Concat w32 (Read w8 3 arr86)
- (Concat w24 (Read w8 2 arr86)
- (ReadLSB w16 0 arr86)))))
+ N0:(ReadLSB w32 0 arr140)))
(And (Not (Eq 2 N0))
(And (Not (Eq 1 N0))
(Not (Eq 0 N0))))))]
(Not (Eq 104
(Read w8 0 [N0=0,
- 1=97] @ arr60))))
-# OK -- Elapsed: 0.00247502
+ 1=97] @ arr115))))
+# OK -- Elapsed: 0.00246791
# Is Valid: false
-# Query 13 -- Type: Truth, Instructions: 124
-(query [(Ult (Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 13 -- Type: Truth, Instructions: 146
+(query [(Ult (ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)
- (Ult (Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult (ReadLSB w32 0 arr133)
16)
(Not (And (Not (Eq 3
- N0:(Concat w32 (Read w8 3 arr86)
- (Concat w24 (Read w8 2 arr86)
- (ReadLSB w16 0 arr86)))))
+ N0:(ReadLSB w32 0 arr140)))
(And (Not (Eq 2 N0))
(And (Not (Eq 1 N0))
(Not (Eq 0 N0))))))
(Eq 104
(Read w8 0 U0:[N0=0,
- 1=97] @ arr60))]
+ 1=97] @ arr115))]
(Not (Slt 2
(Concat w32 (Read w8 3 U0)
(Concat w24 (Read w8 2 U0)
(Concat w16 (Read w8 1 U0) (w8 104)))))))
-# OK -- Elapsed: 0.000127077
+# OK -- Elapsed: 0.000145945
# Is Valid: false
-# Query 14 -- Type: Truth, Instructions: 130
-(query [(Ult N0:(Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 14 -- Type: Truth, Instructions: 152
+(query [(Ult N0:(ReadLSB w32 0 arr119)
16)
- (Ult (Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult (ReadLSB w32 0 arr126)
16)
- (Ult N1:(Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult N1:(ReadLSB w32 0 arr133)
16)
(Not (And (Not (Eq 3
- N2:(Concat w32 (Read w8 3 arr86)
- (Concat w24 (Read w8 2 arr86)
- (ReadLSB w16 0 arr86)))))
+ N2:(ReadLSB w32 0 arr140)))
(And (Not (Eq 2 N2))
(And (Not (Eq 1 N2))
(Not (Eq 0 N2))))))
(Eq 104
(Read w8 0 U0:[N2=0,
- 1=97] @ arr60))
+ 1=97] @ arr115))
(Slt 2
N3:(Concat w32 (Read w8 3 U0)
(Concat w24 (Read w8 2 U0)
(Concat w16 (Read w8 1 U0) (w8 104)))))]
- (Not (Eq (Concat w32 (Read w8 51 U1:[N4:(Mul w32 4 N1)=(Extract w8 0 N5:(SExt w32 (Read w8 3 arr60))),
- (Add w32 1 N4)=(Extract w8 8 N5),
- (Add w32 2 N4)=(Extract w8 16 N5),
- (Add w32 3 N4)=(Extract w8 24 N5),
- N6:(Mul w32 4 N0)=(Extract w8 0 N7:(SExt w32 (Read w8 0 arr60))),
- (Add w32 1 N6)=(Extract w8 8 N7),
- (Add w32 2 N6)=(Extract w8 16 N7),
- (Add w32 3 N6)=(Extract w8 24 N7),
- 63=0, 62=0, 61=128, 60=0, 59=0, 58=0, 57=64, 56=0, 55=0, 54=0, 53=32, 52=0, 51=0, 50=0, 49=16, 48=0, 47=0, 46=0, 45=8, 44=0, 43=0, 42=0, 41=4, 40=0, 39=0, 38=0, 37=2, 36=0, 35=0, 34=0, 33=1, 32=0, 31=0, 30=0, 29=0, 28=128, 27=0, 26=0, 25=0, 24=64, 23=0, 22=0, 21=0, 20=32, 19=0, 18=0, 17=0, 16=16, 15=0, 14=0, 13=0, 12=8, 11=0, 10=0, 9=0, 8=4, 7=0, 6=0, 5=0, 4=2, 3=0, 2=0, 1=0, 0=1])
- (Concat w24 (Read w8 50 U1)
- (ReadLSB w16 48 U1)))
+ (Not (Eq (ReadLSB w32 48 U1:[N4:(Mul w32 4 N1)=(Extract w8 0 N5:(SExt w32 (Read w8 3 arr115))),
+ (Add w32 1 N4)=(Extract w8 8 N5),
+ (Add w32 2 N4)=(Extract w8 16 N5),
+ (Add w32 3 N4)=(Extract w8 24 N5),
+ N6:(Mul w32 4 N0)=(Extract w8 0 N7:(SExt w32 (Read w8 0 arr115))),
+ (Add w32 1 N6)=(Extract w8 8 N7),
+ (Add w32 2 N6)=(Extract w8 16 N7),
+ (Add w32 3 N6)=(Extract w8 24 N7),
+ 63=0, 62=0, 61=128, 60=0, 59=0, 58=0, 57=64, 56=0, 55=0, 54=0, 53=32, 52=0, 51=0, 50=0, 49=16, 48=0, 47=0, 46=0, 45=8, 44=0, 43=0, 42=0, 41=4, 40=0, 39=0, 38=0, 37=2, 36=0, 35=0, 34=0, 33=1, 32=0, 31=0, 30=0, 29=0, 28=128, 27=0, 26=0, 25=0, 24=64, 23=0, 22=0, 21=0, 20=32, 19=0, 18=0, 17=0, 16=16, 15=0, 14=0, 13=0, 12=8, 11=0, 10=0, 9=0, 8=4, 7=0, 6=0, 5=0, 4=2, 3=0, 2=0, 1=0, 0=1])
N3)))
-# OK -- Elapsed: 0.0158381
+# OK -- Elapsed: 0.016117
# Is Valid: false
-# Query 15 -- Type: Truth, Instructions: 135
-(query [(Ult N0:(Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 15 -- Type: Truth, Instructions: 157
+(query [(Ult N0:(ReadLSB w32 0 arr119)
16)
- (Ult N1:(Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult N1:(ReadLSB w32 0 arr126)
16)
- (Ult N2:(Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult N2:(ReadLSB w32 0 arr133)
16)
(Not (And (Not (Eq 3
- N3:(Concat w32 (Read w8 3 arr86)
- (Concat w24 (Read w8 2 arr86)
- (ReadLSB w16 0 arr86)))))
+ N3:(ReadLSB w32 0 arr140)))
(And (Not (Eq 2 N3))
(And (Not (Eq 1 N3))
(Not (Eq 0 N3))))))
(Eq 104
(Read w8 0 U0:[N3=0,
- 1=97] @ arr60))
+ 1=97] @ arr115))
(Slt 2
N4:(Concat w32 (Read w8 3 U0)
(Concat w24 (Read w8 2 U0)
(Concat w16 (Read w8 1 U0) (w8 104)))))
- (Eq (Concat w32 (Read w8 51 U1:[N5:(Mul w32 4 N2)=(Extract w8 0 N6:(SExt w32 (Read w8 3 arr60))),
- (Add w32 1 N5)=(Extract w8 8 N6),
- (Add w32 2 N5)=(Extract w8 16 N6),
- (Add w32 3 N5)=(Extract w8 24 N6)] @
- U2:[N7:(Mul w32 4 N0)=(Extract w8 0 N8:(SExt w32 (Read w8 0 arr60))),
- (Add w32 1 N7)=(Extract w8 8 N8),
- (Add w32 2 N7)=(Extract w8 16 N8),
- (Add w32 3 N7)=(Extract w8 24 N8),
- 63=0, 62=0, 61=128, 60=0, 59=0, 58=0, 57=64, 56=0, 55=0, 54=0, 53=32, 52=0, 51=0, 50=0, 49=16, 48=0, 47=0, 46=0, 45=8, 44=0, 43=0, 42=0, 41=4, 40=0, 39=0, 38=0, 37=2, 36=0, 35=0, 34=0, 33=1, 32=0, 31=0, 30=0, 29=0, 28=128, 27=0, 26=0, 25=0, 24=64, 23=0, 22=0, 21=0, 20=32, 19=0, 18=0, 17=0, 16=16, 15=0, 14=0, 13=0, 12=8, 11=0, 10=0, 9=0, 8=4, 7=0, 6=0, 5=0, 4=2, 3=0, 2=0, 1=0, 0=1])
- (Concat w24 (Read w8 50 U1)
- (ReadLSB w16 48 U1)))
+ (Eq (ReadLSB w32 48 U1:[N5:(Mul w32 4 N2)=(Extract w8 0 N6:(SExt w32 (Read w8 3 arr115))),
+ (Add w32 1 N5)=(Extract w8 8 N6),
+ (Add w32 2 N5)=(Extract w8 16 N6),
+ (Add w32 3 N5)=(Extract w8 24 N6)] @
+ U2:[N7:(Mul w32 4 N0)=(Extract w8 0 N8:(SExt w32 (Read w8 0 arr115))),
+ (Add w32 1 N7)=(Extract w8 8 N8),
+ (Add w32 2 N7)=(Extract w8 16 N8),
+ (Add w32 3 N7)=(Extract w8 24 N8),
+ 63=0, 62=0, 61=128, 60=0, 59=0, 58=0, 57=64, 56=0, 55=0, 54=0, 53=32, 52=0, 51=0, 50=0, 49=16, 48=0, 47=0, 46=0, 45=8, 44=0, 43=0, 42=0, 41=4, 40=0, 39=0, 38=0, 37=2, 36=0, 35=0, 34=0, 33=1, 32=0, 31=0, 30=0, 29=0, 28=128, 27=0, 26=0, 25=0, 24=64, 23=0, 22=0, 21=0, 20=32, 19=0, 18=0, 17=0, 16=16, 15=0, 14=0, 13=0, 12=8, 11=0, 10=0, 9=0, 8=4, 7=0, 6=0, 5=0, 4=2, 3=0, 2=0, 1=0, 0=1])
N4)]
(Eq 32
- (Concat w32 (Read w8 (Add w32 3 N9:(Mul w32 4 N1))
- U2)
- (Concat w24 (Read w8 (Add w32 2 N9)
- U2)
- (ReadLSB w16 N9 U2)))))
-# OK -- Elapsed: 0.000321865
+ (ReadLSB w32 N9:(Mul w32 4 N1) U2)))
+# OK -- Elapsed: 0.00037605
# Is Valid: false
-# Query 16 -- Type: InitialValues, Instructions: 137
-(query [(Ult N0:(Concat w32 (Read w8 3 arr65)
- (Concat w24 (Read w8 2 arr65)
- (ReadLSB w16 0 arr65)))
+# Query 16 -- Type: InitialValues, Instructions: 159
+(query [(Ult N0:(ReadLSB w32 0 arr119)
16)
- (Ult N1:(Concat w32 (Read w8 3 arr72)
- (Concat w24 (Read w8 2 arr72)
- (ReadLSB w16 0 arr72)))
+ (Ult N1:(ReadLSB w32 0 arr126)
16)
- (Ult N2:(Concat w32 (Read w8 3 arr79)
- (Concat w24 (Read w8 2 arr79)
- (ReadLSB w16 0 arr79)))
+ (Ult N2:(ReadLSB w32 0 arr133)
16)
(Not (And (Not (Eq 3
- N3:(Concat w32 (Read w8 3 arr86)
- (Concat w24 (Read w8 2 arr86)
- (ReadLSB w16 0 arr86)))))
+ N3:(ReadLSB w32 0 arr140)))
(And (Not (Eq 2 N3))
(And (Not (Eq 1 N3))
(Not (Eq 0 N3))))))
(Eq 104
(Read w8 0 U0:[N3=0,
- 1=97] @ arr60))
+ 1=97] @ arr115))
(Slt 2
N4:(Concat w32 (Read w8 3 U0)
(Concat w24 (Read w8 2 U0)
(Concat w16 (Read w8 1 U0) (w8 104)))))
- (Eq (Concat w32 (Read w8 51 U1:[N5:(Mul w32 4 N2)=(Extract w8 0 N6:(SExt w32 (Read w8 3 arr60))),
- (Add w32 1 N5)=(Extract w8 8 N6),
- (Add w32 2 N5)=(Extract w8 16 N6),
- (Add w32 3 N5)=(Extract w8 24 N6)] @
- U2:[N7:(Mul w32 4 N0)=(Extract w8 0 N8:(SExt w32 (Read w8 0 arr60))),
- (Add w32 1 N7)=(Extract w8 8 N8),
- (Add w32 2 N7)=(Extract w8 16 N8),
- (Add w32 3 N7)=(Extract w8 24 N8),
- 63=0, 62=0, 61=128, 60=0, 59=0, 58=0, 57=64, 56=0, 55=0, 54=0, 53=32, 52=0, 51=0, 50=0, 49=16, 48=0, 47=0, 46=0, 45=8, 44=0, 43=0, 42=0, 41=4, 40=0, 39=0, 38=0, 37=2, 36=0, 35=0, 34=0, 33=1, 32=0, 31=0, 30=0, 29=0, 28=128, 27=0, 26=0, 25=0, 24=64, 23=0, 22=0, 21=0, 20=32, 19=0, 18=0, 17=0, 16=16, 15=0, 14=0, 13=0, 12=8, 11=0, 10=0, 9=0, 8=4, 7=0, 6=0, 5=0, 4=2, 3=0, 2=0, 1=0, 0=1])
- (Concat w24 (Read w8 50 U1)
- (ReadLSB w16 48 U1)))
+ (Eq (ReadLSB w32 48 U1:[N5:(Mul w32 4 N2)=(Extract w8 0 N6:(SExt w32 (Read w8 3 arr115))),
+ (Add w32 1 N5)=(Extract w8 8 N6),
+ (Add w32 2 N5)=(Extract w8 16 N6),
+ (Add w32 3 N5)=(Extract w8 24 N6)] @
+ U2:[N7:(Mul w32 4 N0)=(Extract w8 0 N8:(SExt w32 (Read w8 0 arr115))),
+ (Add w32 1 N7)=(Extract w8 8 N8),
+ (Add w32 2 N7)=(Extract w8 16 N8),
+ (Add w32 3 N7)=(Extract w8 24 N8),
+ 63=0, 62=0, 61=128, 60=0, 59=0, 58=0, 57=64, 56=0, 55=0, 54=0, 53=32, 52=0, 51=0, 50=0, 49=16, 48=0, 47=0, 46=0, 45=8, 44=0, 43=0, 42=0, 41=4, 40=0, 39=0, 38=0, 37=2, 36=0, 35=0, 34=0, 33=1, 32=0, 31=0, 30=0, 29=0, 28=128, 27=0, 26=0, 25=0, 24=64, 23=0, 22=0, 21=0, 20=32, 19=0, 18=0, 17=0, 16=16, 15=0, 14=0, 13=0, 12=8, 11=0, 10=0, 9=0, 8=4, 7=0, 6=0, 5=0, 4=2, 3=0, 2=0, 1=0, 0=1])
N4)
(Not (Eq 32
- (Concat w32 (Read w8 (Add w32 3 N9:(Mul w32 4 N1))
- U2)
- (Concat w24 (Read w8 (Add w32 2 N9)
- U2)
- (ReadLSB w16 N9 U2)))))]
- false)
-# OK -- Elapsed: 0.000178814
+ (ReadLSB w32 N9:(Mul w32 4 N1) U2)))]
+ false []
+ [arr115
+ arr119
+ arr126
+ arr133
+ arr140])
+# OK -- Elapsed: 0.000240058
# Solvable: true
-# arr60 = [104,0,0,0]
-# arr65 = [12,0,0,0]
-# arr72 = [0,0,0,0]
-# arr79 = [0,0,0,0]
-# arr86 = [1,0,0,0]
+# arr115 = [104,0,0,0]
+# arr119 = [12,0,0,0]
+# arr126 = [0,0,0,0]
+# arr133 = [0,0,0,0]
+# arr140 = [1,0,0,0]
+
diff --git a/test/Feature/ExprLogging.c b/test/Feature/ExprLogging.c
index 2abf0070..2329279d 100644
--- a/test/Feature/ExprLogging.c
+++ b/test/Feature/ExprLogging.c
@@ -1,9 +1,8 @@
// RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t1.bc
// RUN: %klee --use-query-pc-log --write-pcs --write-cvcs %t1.bc 2> %t2.log
-// RUN: %kleaver -print-ast klee-last/test000001.pc
-
-// FIXME: Ideally we would verify a roundtrip that we parsed the pc
-// file and can dump it back out as the same file.
+// RUN: %kleaver -print-ast klee-last/queries.pc > %t3.log
+// RUN: %kleaver -print-ast %t3.log > %t4.log
+// RUN: diff %t3.log %t4.log
#include <assert.h>