llvm-6502/lib
Bill Wendling 66c6324fcf DWARF requires frame moves be specified at specific times. If you have a
prologue like this:

__Z3fooi:
Leh_func_begin1:
LBB1_0: ## entry
        pushl   %ebp
Llabel1:
        movl    %esp, %ebp
Llabel2:
        pushl   %esi
Llabel3:
        subl    $20, %esp
        call    "L1$pb"
"L1$pb":
        popl    %esi

The "pushl %ebp" needs a table entry specifying the offset. The "movl %esp,
%ebp" makes %ebp the new stack frame register, so that needs to be specified in
DWARF. And "pushl %esi" saves the callee-saved %esi register, which also needs
to be specified in DWARF.

Before, all of this logic was in one method. This didn't work too well, because
as you can see there are multiple FDE line entries that need to be created.

This fix creates the "MachineMove" objects directly when they're needed; instead
of waiting until the end, and losing information.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74952 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-07 21:53:07 +00:00
..
Analysis Re-LLVMContext-ize DebugInfo, now with less breakage. 2009-07-07 17:12:53 +00:00
Archive Make the use of const with respect to LLVMContext sane. Hopefully this is the last time, for the 2009-07-01 23:13:44 +00:00
AsmParser Use LLVMContext in the LLLexer. 2009-07-07 18:44:11 +00:00
Bitcode LLVMContext-ify the bitcode reader. 2009-07-07 20:18:58 +00:00
CodeGen Remove dead code. 2009-07-07 21:12:32 +00:00
CompilerDriver Have scoped mutexes take referenes instead of pointers. 2009-07-07 18:33:04 +00:00
Debugger Make the use of const with respect to LLVMContext sane. Hopefully this is the last time, for the 2009-07-01 23:13:44 +00:00
ExecutionEngine Have scoped mutexes take referenes instead of pointers. 2009-07-07 18:33:04 +00:00
Linker LLVM Context-ification. 2009-07-07 21:07:14 +00:00
MC Implement parsing support for the .comm directive. Patch by 2009-07-07 20:30:46 +00:00
Support Fix build. 2009-07-07 18:52:14 +00:00
System Eliminate the static constructors and locks from DynamicLibrary.cpp. 2009-07-07 18:17:07 +00:00
Target DWARF requires frame moves be specified at specific times. If you have a 2009-07-07 21:53:07 +00:00
Transforms Change all SCEV* to SCEV *. 2009-07-07 17:06:11 +00:00
VMCore LLVMContext-ifiy the implementation of the C API. 2009-07-07 21:33:58 +00:00
Makefile LLVMC doesn't need ENABLE_PIC to build now. 2009-07-04 03:54:54 +00:00