forked from OSchip/llvm-project
Oops - Re-add the Kaleidoscope regression tests themselves (accidentally left
out of r246201). llvm-svn: 246203
This commit is contained in:
parent
53b2afa28f
commit
e2edcdcd93
|
@ -0,0 +1,17 @@
|
|||
# RUN: Kaleidoscope-Ch3 < %s 2>&1 | FileCheck %s
|
||||
|
||||
# Test basic parsing and IR generation.
|
||||
def foo(x) x + 1;
|
||||
foo(1);
|
||||
|
||||
# CHECK: define double @foo(double %x) {
|
||||
# CHECK-NEXT: entry:
|
||||
# CHECK-NEXT: %addtmp = fadd double %x, 1.000000e+00
|
||||
# CHECK-NEXT: ret double %addtmp
|
||||
# CHECK-NEXT: }
|
||||
|
||||
# CHECK: define double @__anon_expr() {
|
||||
# CHECK-NEXT: entry:
|
||||
# CHECK-NEXT: %calltmp = call double @foo(double 1.000000e+00)
|
||||
# CHECK-NEXT: ret double %calltmp
|
||||
# CHECK-NEXT: }
|
|
@ -0,0 +1,17 @@
|
|||
# RUN: Kaleidoscope-Ch4 < %s 2>&1 | FileCheck %s
|
||||
|
||||
# Test basic definition, binding, and execution.
|
||||
def foo(x) x + 1;
|
||||
def bar(x) foo(2 * x);
|
||||
bar(2);
|
||||
# CHECK: Evaluated to 5.000000
|
||||
|
||||
# Test redefinition.
|
||||
def foo(x) x + 2;
|
||||
foo(2);
|
||||
# CHECK: Evaluated to 4.000000
|
||||
|
||||
# Verify that 'bar' still calls the original 'foo'.
|
||||
bar(2);
|
||||
# CHECK: Evaluated to 5.000000
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# RUN: Kaleidoscope-Ch5 < %s 2>&1 | FileCheck %s
|
||||
|
||||
# Test 'if' expression.
|
||||
def foo(x) if x < 10 then 0 else 1;
|
||||
foo(9);
|
||||
foo(11);
|
||||
# CHECK: Evaluated to 0.000000
|
||||
# CHECK: Evaluated to 1.000000
|
||||
|
||||
# Test 'for' expression.
|
||||
extern printd(x);
|
||||
for i = 1, i < 5, 1.0 in
|
||||
printd(i);
|
||||
# CHECK: 1.0
|
||||
# CHECK: 2.0
|
||||
# CHECK: 3.0
|
||||
# CHECK: 4.0
|
||||
# CHECK: 5.0
|
||||
# CHECK: Evaluated to 0.000000
|
|
@ -0,0 +1,15 @@
|
|||
# RUN: Kaleidoscope-Ch6 < %s 2>&1 | FileCheck %s
|
||||
|
||||
# Test unary operator definition.
|
||||
def unary-(x) 0 - x;
|
||||
1 + (-1);
|
||||
# CHECK: Evaluated to 0.000000
|
||||
|
||||
# Test binary operator definition.
|
||||
def binary> 10 (lhs rhs) rhs < lhs;
|
||||
def foo(x) if x > 10 then 0 else 1;
|
||||
foo(9);
|
||||
foo(11);
|
||||
# CHECK: Evaluated to 1.000000
|
||||
# CHECK: Evaluated to 0.000000
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# RUN: Kaleidoscope-Ch7 < %s 2>&1 | FileCheck %s
|
||||
|
||||
# Sequence operator and iterative fibonacci function to test user defined vars.
|
||||
def binary : 1 (x y) y;
|
||||
|
||||
def fibi(x)
|
||||
var a = 1, b = 1, c in
|
||||
(for i = 3, i < x in
|
||||
c = a + b :
|
||||
a = b :
|
||||
b = c) :
|
||||
b;
|
||||
|
||||
fibi(10);
|
||||
# CHECK: Evaluated to 55.000000
|
|
@ -0,0 +1,2 @@
|
|||
if not config.test_examples:
|
||||
config.unsupported = True
|
Loading…
Reference in New Issue