These tests now pass with MCJIT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215136
91177308-0d34-0410-b5e6-
96231b3b80d8
25 files changed:
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
@.LC0 = internal global [10 x i8] c"argc: %d\0A\00" ; <[10 x i8]*> [#uses=1]
@.LC0 = internal global [10 x i8] c"argc: %d\0A\00" ; <[10 x i8]*> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define i32 @foo(i32 %X, i32 %Y, double %A) {
%cond212 = fcmp une double %A, 1.000000e+00 ; <i1> [#uses=1]
define i32 @foo(i32 %X, i32 %Y, double %A) {
%cond212 = fcmp une double %A, 1.000000e+00 ; <i1> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define i32 @main() {
call i32 @mylog( i32 4 ) ; <i32>:1 [#uses=0]
define i32 @main() {
call i32 @mylog( i32 4 ) ; <i32>:1 [#uses=0]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define i32 @bar(i8* %X) {
; pointer should be 4 byte aligned!
define i32 @bar(i8* %X) {
; pointer should be 4 byte aligned!
; This testcase should return with an exit code of 1.
;
; RUN: not %lli %s
; This testcase should return with an exit code of 1.
;
; RUN: not %lli %s
@test = global i64 0 ; <i64*> [#uses=1]
@test = global i64 0 ; <i64*> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
; This testcase failed to work because two variable sized allocas confused the
; local register allocator.
; This testcase failed to work because two variable sized allocas confused the
; local register allocator.
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
;
; Regression Test: EnvironmentTest.ll
;
; Regression Test: EnvironmentTest.ll
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
; This testcase exposes a bug in the local register allocator where it runs out
; of registers (due to too many overlapping live ranges), but then attempts to
; This testcase exposes a bug in the local register allocator where it runs out
; of registers (due to too many overlapping live ranges), but then attempts to
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
@A = global i32 0 ; <i32*> [#uses=1]
@A = global i32 0 ; <i32*> [#uses=1]
define i32 @main() {
%f = bitcast i32 (i32, i32*, i32)* @check_tail to i32* ; <i32*> [#uses=1]
define i32 @main() {
%f = bitcast i32 (i32, i32*, i32)* @check_tail to i32* ; <i32*> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
@.LC0 = internal global [12 x i8] c"Hello World\00" ; <[12 x i8]*> [#uses=1]
@.LC0 = internal global [12 x i8] c"Hello World\00" ; <[12 x i8]*> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
@X = global i32 7 ; <i32*> [#uses=0]
@msg = internal global [13 x i8] c"Hello World\0A\00" ; <[13 x i8]*> [#uses=1]
@X = global i32 7 ; <i32*> [#uses=0]
@msg = internal global [13 x i8] c"Hello World\0A\00" ; <[13 x i8]*> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define i64 @foo() {
ret i64 42
define i64 @foo() {
ret i64 42
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define i32 @bar() {
ret i32 0
define i32 @bar() {
ret i32 0
; RUN: %lli -disable-lazy-compilation=false %s
; RUN: %lli -disable-lazy-compilation=false %s
define i32 @main() nounwind {
entry:
define i32 @main() nounwind {
entry:
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define i32 @_Z14func_exit_codev() nounwind uwtable {
entry:
define i32 @_Z14func_exit_codev() nounwind uwtable {
entry:
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
; RUN: %lli -O0 -disable-lazy-compilation=false %s
; RUN: %lli -O0 -disable-lazy-compilation=false %s
; The intention of this test is to verify that symbols mapped to COMMON in ELF
; work as expected.
; The intention of this test is to verify that symbols mapped to COMMON in ELF
; work as expected.
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define double @test(double* %DP, double %Arg) {
%D = load double* %DP ; <double> [#uses=1]
define double @test(double* %DP, double %Arg) {
%D = load double* %DP ; <double> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define double @test(double* %DP, double %Arg) {
%D = load double* %DP ; <double> [#uses=1]
define double @test(double* %DP, double %Arg) {
%D = load double* %DP ; <double> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
@count = global i32 1, align 4
@count = global i32 1, align 4
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
@count = global i32 0, align 4
@count = global i32 0, align 4
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64* %P.upgrd.3) {
%V = load i8* %P ; <i8> [#uses=1]
define void @test(i8* %P, i16* %P.upgrd.1, i32* %P.upgrd.2, i64* %P.upgrd.3) {
%V = load i8* %P ; <i8> [#uses=1]
; RUN: %lli %s > /dev/null
; RUN: %lli %s > /dev/null
define i32 @main() nounwind uwtable {
entry:
define i32 @main() nounwind uwtable {
entry: