llvm.org GIT mirror llvm / c105471
Some regression tests which are testing the old jit and are exercising 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 James Molloy 8 years ago
4 changed file(s) with 17 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
0 ; RUN: %lli %s > /dev/null
1 ; XFAIL: arm
12
23 @.LC0 = internal global [10 x i8] c"argc: %d\0A\00" ; <[10 x i8]*> [#uses=1]
34
0 ; RUN: %lli %s > /dev/null
1 ; XFAIL: arm
12
23 define double @test(double* %DP, double %Arg) {
34 %D = load double* %DP ; [#uses=1]
0 ; RUN: %lli %s > /dev/null
1 ; XFAIL: arm
12
23 define double @test(double* %DP, double %Arg) {
34 %D = load double* %DP ; [#uses=1]
223223 OwningPtr TheJIT;
224224 };
225225
226 // Tests on ARM disabled as we're running the old jit
227 #if !defined(__arm__)
228
226229 // Regression test for a bug. The JIT used to allocate globals inside the same
227230 // memory block used for the function, and when the function code was freed,
228231 // the global was left in the same place. This test allocates a function
290293 F2Ptr();
291294 EXPECT_EQ(3, *GPtr);
292295 }
296
297 #endif // !defined(__arm__)
293298
294299 int PlusOne(int arg) {
295300 return arg + 1;
520525 }
521526 #endif // !ARM && !PPC
522527
528 // Tests on ARM disabled as we're running the old jit
529 #if !defined(__arm__)
530
523531 TEST_F(JITTest, FunctionPointersOutliveTheirCreator) {
524532 TheJIT->DisableLazyCompilation(true);
525533 LoadAssembly("define i8()* @get_foo_addr() { "
553561 EXPECT_EQ((intptr_t)foo, (intptr_t)foo_addr);
554562 #endif
555563 }
564
565 #endif //!defined(__arm__)
556566
557567 // ARM does not have an implementation
558568 // of replaceMachineCodeForFunction(), so recompileAndRelinkFunction
598608 int32_t JITTest_AvailableExternallyGlobal = 42;
599609 namespace {
600610
611 // Tests on ARM disabled as we're running the old jit
612 #if !defined(__arm__)
613
601614 TEST_F(JITTest, AvailableExternallyGlobalIsntEmitted) {
602615 TheJIT->DisableLazyCompilation(true);
603616 LoadAssembly("@JITTest_AvailableExternallyGlobal = "
614627 EXPECT_EQ(42, loader()) << "func should return 42 from the external global,"
615628 << " not 7 from the IR version.";
616629 }
617
630 #endif //!defined(__arm__)
618631 } // anonymous namespace
619632 // This function is intentionally defined differently in the statically-compiled
620633 // program from the IR input to the JIT to assert that the JIT doesn't use its