mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
instead of migrating it to the MC instruction encoder, just
rip out the implementation of X86InstrInfo::GetInstSizeInBytes. The code being ripped out just implemented a copy and hacked up version of the (old) instruction encoder, and is buggy and terrible in other ways. Since "GetInstSizeInBytes" is really only there to support the JIT's "NeedsExactSize" hook (which noone is using), just rip out the code. I will rip out the NeedsExactSize hook next. This resolves rdar://7617809 - switch X86InstrInfo::GetInstSizeInBytes to use X86MCCodeEmitter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109149 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -630,31 +630,6 @@ TEST_F(JITTest, AvailableExternallyFunctionIsntCompiled) {
|
||||
<< " not 7 from the IR version.";
|
||||
}
|
||||
|
||||
TEST_F(JITTest, NeedsExactSizeWithManyGlobals) {
|
||||
// PR5291: When the JMM needed the exact size of function bodies before
|
||||
// starting to emit them, the JITEmitter would modify a set while iterating
|
||||
// over it.
|
||||
TheJIT->DisableLazyCompilation(true);
|
||||
RJMM->setSizeRequired(true);
|
||||
|
||||
LoadAssembly("@A = global i32 42 "
|
||||
"@B = global i32* @A "
|
||||
"@C = global i32** @B "
|
||||
"@D = global i32*** @C "
|
||||
"@E = global i32**** @D "
|
||||
"@F = global i32***** @E "
|
||||
"@G = global i32****** @F "
|
||||
"@H = global i32******* @G "
|
||||
"@I = global i32******** @H "
|
||||
"define i32********* @test() { "
|
||||
" ret i32********* @I "
|
||||
"}");
|
||||
Function *testIR = M->getFunction("test");
|
||||
int32_t********* (*test)() = reinterpret_cast<int32_t*********(*)()>(
|
||||
(intptr_t)TheJIT->getPointerToFunction(testIR));
|
||||
EXPECT_EQ(42, *********test());
|
||||
}
|
||||
|
||||
TEST_F(JITTest, EscapedLazyStubStillCallable) {
|
||||
TheJIT->DisableLazyCompilation(false);
|
||||
LoadAssembly("define internal i32 @stubbed() { "
|
||||
|
Reference in New Issue
Block a user