Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Some autoconf tests use module level inline asm to test compiler's handling of | Evan Cheng | 2011-08-24 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | .cfi_startproc. e.g. libffi: $ cat confopt.c asm (".cfi_startproc\n\t.cfi_endproc"); int main () { return 0; } Teach MC / dwarf emission to handle these cfi directives which essentially create an empty frame. rdar://10017184 llvm-svn: 138504 | |||||
* | Emit the __compact_unwind section first. If there are any frames which weren't | Bill Wendling | 2011-07-22 | 1 | -14/+27 | |
| | | | | | | emitted, emit them next as CIE/FDEs. llvm-svn: 135807 | |||||
* | Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc. | Evan Cheng | 2011-07-20 | 1 | -7/+3 | |
| | | | | | | | There is still a bit more refactoring left to do in Targets. But we are now very close to fixing all the layering issues in MC. llvm-svn: 135611 | |||||
* | Add MCObjectFileInfo and sink the MCSections initialization code from | Evan Cheng | 2011-07-20 | 1 | -12/+19 | |
| | | | | | | | | TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! llvm-svn: 135569 | |||||
* | Micro-opt: Only emit compact unwind if there is a compact unwind encoding to ↵ | Bill Wendling | 2011-07-19 | 1 | -1/+1 | |
| | | | | | | emit. llvm-svn: 135452 | |||||
* | Use the CompactUnwindEncoding from the Frame, if it's defined. | Bill Wendling | 2011-07-19 | 1 | -7/+2 | |
| | | | | llvm-svn: 135451 | |||||
* | Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions for | Evan Cheng | 2011-07-18 | 1 | -1/+2 | |
| | | | | | | better location welcome). llvm-svn: 135438 | |||||
* | Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo down | Evan Cheng | 2011-07-18 | 1 | -5/+6 | |
| | | | | | | | | | to MCRegisterInfo. Also initialize the mapping at construction time. This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step towards fixing the layering violation. llvm-svn: 135424 | |||||
* | Move some parts of TargetAsmInfo down to MCAsmInfo. This is not the greatest | Evan Cheng | 2011-07-15 | 1 | -26/+26 | |
| | | | | | | | solution but it is a small step towards removing the horror that is TargetAsmInfo. llvm-svn: 135237 | |||||
* | Remove setting the bit for personality function. It should be set by the linker. | Bill Wendling | 2011-07-15 | 1 | -3/+0 | |
| | | | | llvm-svn: 135236 | |||||
* | Encode that we have a personality function. | Bill Wendling | 2011-07-15 | 1 | -0/+3 | |
| | | | | llvm-svn: 135227 | |||||
* | * If we have an LSDA, we need to mark it in the encoding. | Bill Wendling | 2011-07-14 | 1 | -1/+5 | |
| | | | | | | * The personality function should be encoded as an absolute pointer to the function. llvm-svn: 135215 | |||||
* | Unfortunately several files in MC are badly violating layering rule by using | Evan Cheng | 2011-07-14 | 1 | -2/+6 | |
| | | | | | | | | | TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are other cases of violations, but this is probably the worst. This patch is but one small step towards fixing this. 500 more steps to go. :-( llvm-svn: 135131 | |||||
* | Don't emit the FDE end label if the last thing emitted was a compact unwind and | Bill Wendling | 2011-07-13 | 1 | -1/+3 | |
| | | | | | | not the FDE llvm-svn: 135020 | |||||
* | Add a target hook to encode the compact unwind information. | Bill Wendling | 2011-07-07 | 1 | -6/+8 | |
| | | | | llvm-svn: 134577 | |||||
* | Clean up the #includes. | Bill Wendling | 2011-07-06 | 1 | -5/+4 | |
| | | | | llvm-svn: 134557 | |||||
* | Remove tabs. | Bill Wendling | 2011-06-30 | 1 | -6/+6 | |
| | | | | llvm-svn: 134212 | |||||
* | Improve comment: Show the register the DWARF label is added to. | Bill Wendling | 2011-06-30 | 1 | -1/+2 | |
| | | | | llvm-svn: 134209 | |||||
* | Add one more comment to the FDE verbose asm output. | Bill Wendling | 2011-06-30 | 1 | -0/+1 | |
| | | | | llvm-svn: 134200 | |||||
* | Add comments to the FDE. | Bill Wendling | 2011-06-30 | 1 | -5/+13 | |
| | | | | llvm-svn: 134196 | |||||
* | Add more comments to the ASM output for the CIE's "moves". | Bill Wendling | 2011-06-30 | 1 | -1/+20 | |
| | | | | llvm-svn: 134194 | |||||
* | Add comments to the ASM output to help understand the compact unwind and CIE ↵ | Bill Wendling | 2011-06-30 | 1 | -6/+61 | |
| | | | | | | tables. llvm-svn: 134191 | |||||
* | * Use the proper size to output the range size. | Bill Wendling | 2011-06-30 | 1 | -1/+8 | |
| | | | | | | * Rough in the compact encoding part. llvm-svn: 134119 | |||||
* | Stupid error: If the LSDA and Personality functions aren't there, emit 0 instead | Bill Wendling | 2011-06-29 | 1 | -10/+8 | |
| | | | | | | of the encoding. llvm-svn: 134117 | |||||
* | We don't want to use relocations inside the compact unwind section. Just use the | Bill Wendling | 2011-06-29 | 1 | -4/+19 | |
| | | | | | | symbols instead. llvm-svn: 134115 | |||||
* | Use a reference. Don't make a useless copy of the vector. | Bill Wendling | 2011-06-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 133707 | |||||
* | Formatting changes. No functionality change. | Bill Wendling | 2011-06-23 | 1 | -32/+30 | |
| | | | | llvm-svn: 133706 | |||||
* | Use the presence of the __compact_unwind section to indicate that a target | Bill Wendling | 2011-06-23 | 1 | -1/+1 | |
| | | | | | | supports compact unwind info instead of having a separate flag indicating this. llvm-svn: 133685 | |||||
* | Some skeleton code to emit the compact unwind. If the information is unable to | Bill Wendling | 2011-06-23 | 1 | -1/+63 | |
| | | | | | | be emitted in a compact way, we then default to emitting a CIE and FDE. llvm-svn: 133676 | |||||
* | Directly print to a raw_ostream instead of printing to a buffer first. | Benjamin Kramer | 2011-06-18 | 1 | -4/+1 | |
| | | | | llvm-svn: 133352 | |||||
* | No reason not to allow defining the CFA as a reg w/ offset zero. | Jim Grosbach | 2011-05-20 | 1 | -2/+0 | |
| | | | | llvm-svn: 131760 | |||||
* | Avoid a gcc warning. | Rafael Espindola | 2011-05-10 | 1 | -1/+2 | |
| | | | | llvm-svn: 131161 | |||||
* | On MachO, unlike ELF, there should be no relocation to produce the CIE pointer. | Rafael Espindola | 2011-05-10 | 1 | -8/+17 | |
| | | | | llvm-svn: 131149 | |||||
* | The EH symbols are only needed in eh_frame, not debug_frame. | Rafael Espindola | 2011-05-10 | 1 | -2/+2 | |
| | | | | llvm-svn: 131146 | |||||
* | In a debug_frame the cfi offset is to the start of the debug_frame section! | Rafael Espindola | 2011-05-10 | 1 | -3/+7 | |
| | | | | llvm-svn: 131129 | |||||
* | Add support for producing .deubg_frame sections. | Rafael Espindola | 2011-05-10 | 1 | -45/+59 | |
| | | | | llvm-svn: 131121 | |||||
* | Small cleanups. | Rafael Espindola | 2011-05-10 | 1 | -8/+5 | |
| | | | | llvm-svn: 131120 | |||||
* | Remove unused argument. | Rafael Espindola | 2011-05-10 | 1 | -12/+4 | |
| | | | | llvm-svn: 131118 | |||||
* | Eliminate an unused line to fix a warning. | NAKAMURA Takumi | 2011-05-08 | 1 | -1/+0 | |
| | | | | llvm-svn: 131078 | |||||
* | Don't force relaxation of AdvanceLoc instructions on OS X. gdb is happy with | Rafael Espindola | 2011-05-08 | 1 | -11/+5 | |
| | | | | | | | the smaller encoding and this cuts 270336 bytes from a release version of clang and 1246272 bytes from a debug build. llvm-svn: 131067 | |||||
* | Switch Darwin to the generic CIE/FDE printer. | Rafael Espindola | 2011-05-06 | 1 | -64/+0 | |
| | | | | llvm-svn: 131031 | |||||
* | MCDwarf: Don't save Twine to local variable, this is almost never safe to do | Daniel Dunbar | 2011-05-03 | 1 | -2/+2 | |
| | | | | | | | (and should thus never be done). - Should fix a crash on win32. llvm-svn: 130793 | |||||
* | GCC uses a different encoding of pointers in the FDE when using | Rafael Espindola | 2011-05-01 | 1 | -8/+12 | |
| | | | | | | -fno-dwarf2-cfi-asm. Implement the same behavior. llvm-svn: 130637 | |||||
* | Simplify the handling of pcrel relocations on ELF. Now we do the right thing | Rafael Espindola | 2011-05-01 | 1 | -11/+6 | |
| | | | | | | | | | | for all symbol differences and can drop the old EmitPCRelSymbolValue method. This also make getExprForFDESymbol on ELF equal to the one on MachO, and it can be made non-virtual. llvm-svn: 130634 | |||||
* | Avoid some uses of .uleb128. This is a small speedup and more importantly | Rafael Espindola | 2011-04-29 | 1 | -17/+22 | |
| | | | | | | | lets this code be used when producing assembly code for old assemblers without uleb support. llvm-svn: 130544 | |||||
* | Last bit by bit compatibility patch to MCDwarf.cpp: If a FDE with no LSDA is | Rafael Espindola | 2011-04-29 | 1 | -5/+20 | |
| | | | | | | assigned to a CIE that requires one, just output a 0. llvm-svn: 130472 | |||||
* | Add an alternative implementation of CIE and FDE emission that outputs them | Rafael Espindola | 2011-04-29 | 1 | -0/+58 | |
| | | | | | | in the same order as the one in CodeGen. llvm-svn: 130471 | |||||
* | Add the getExprForFDESymbol method that responsible for computing the | Rafael Espindola | 2011-04-28 | 1 | -12/+9 | |
| | | | | | | expressions used in the FDE to refer to symbols. llvm-svn: 130437 | |||||
* | Add a getExprForPersonalitySymbol method to MCAsmInfo. Use it when | Rafael Espindola | 2011-04-28 | 1 | -1/+14 | |
| | | | | | | converting the symbol passed to .cfi_personality into bytes is the file. llvm-svn: 130400 | |||||
* | Mark the EH symbol global or weak if the corresponding function is. | Rafael Espindola | 2011-04-28 | 1 | -0/+1 | |
| | | | | llvm-svn: 130397 |