Skip to content

Commit

Permalink
Some regression tests which are testing the old jit and are exercisin…
Browse files Browse the repository at this point in the history
…g functionality which is both known to be broken and not expected to be fixed in the old jit. To remove these from the regression test output, I've marked them XFAIL (for lit tests) and ifdef'd them out (unit tests). These modifications remove the last long-standing regression test failures from the buildbots (though updating the triple to reflect new ubuntu configuration has temporarily caused some new failures). Tested on x86-64 and ARM Linux.

Patch by David Tweed!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165390 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
James Molloy committed Oct 8, 2012
1 parent 87802d5 commit c105471
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 1 deletion.
1 change: 1 addition & 0 deletions test/ExecutionEngine/2002-12-16-ArgTest.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: %lli %s > /dev/null
; XFAIL: arm

@.LC0 = internal global [10 x i8] c"argc: %d\0A\00" ; <[10 x i8]*> [#uses=1]

Expand Down
1 change: 1 addition & 0 deletions test/ExecutionEngine/test-fp-no-external-funcs.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: %lli %s > /dev/null
; XFAIL: arm

define double @test(double* %DP, double %Arg) {
%D = load double* %DP ; <double> [#uses=1]
Expand Down
1 change: 1 addition & 0 deletions test/ExecutionEngine/test-fp.ll
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
; RUN: %lli %s > /dev/null
; XFAIL: arm

define double @test(double* %DP, double %Arg) {
%D = load double* %DP ; <double> [#uses=1]
Expand Down
15 changes: 14 additions & 1 deletion unittests/ExecutionEngine/JIT/JITTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,9 @@ class JITTest : public testing::Test {
OwningPtr<ExecutionEngine> TheJIT;
};

// Tests on ARM disabled as we're running the old jit
#if !defined(__arm__)

// Regression test for a bug. The JIT used to allocate globals inside the same
// memory block used for the function, and when the function code was freed,
// the global was left in the same place. This test allocates a function
Expand Down Expand Up @@ -292,6 +295,8 @@ TEST(JIT, GlobalInFunction) {
EXPECT_EQ(3, *GPtr);
}

#endif // !defined(__arm__)

int PlusOne(int arg) {
return arg + 1;
}
Expand Down Expand Up @@ -521,6 +526,9 @@ TEST_F(JITTest, NoStubs) {
}
#endif // !ARM && !PPC

// Tests on ARM disabled as we're running the old jit
#if !defined(__arm__)

TEST_F(JITTest, FunctionPointersOutliveTheirCreator) {
TheJIT->DisableLazyCompilation(true);
LoadAssembly("define i8()* @get_foo_addr() { "
Expand Down Expand Up @@ -555,6 +563,8 @@ TEST_F(JITTest, FunctionPointersOutliveTheirCreator) {
#endif
}

#endif //!defined(__arm__)

// ARM does not have an implementation
// of replaceMachineCodeForFunction(), so recompileAndRelinkFunction
// doesn't work.
Expand Down Expand Up @@ -599,6 +609,9 @@ extern "C" int32_t JITTest_AvailableExternallyGlobal;
int32_t JITTest_AvailableExternallyGlobal = 42;
namespace {

// Tests on ARM disabled as we're running the old jit
#if !defined(__arm__)

TEST_F(JITTest, AvailableExternallyGlobalIsntEmitted) {
TheJIT->DisableLazyCompilation(true);
LoadAssembly("@JITTest_AvailableExternallyGlobal = "
Expand All @@ -615,7 +628,7 @@ TEST_F(JITTest, AvailableExternallyGlobalIsntEmitted) {
EXPECT_EQ(42, loader()) << "func should return 42 from the external global,"
<< " not 7 from the IR version.";
}

#endif //!defined(__arm__)
} // anonymous namespace
// This function is intentionally defined differently in the statically-compiled
// program from the IR input to the JIT to assert that the JIT doesn't use its
Expand Down

0 comments on commit c105471

Please sign in to comment.