aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add MCObjectFileInfo and sink the MCSections initialization code fromEvan Cheng2011-07-201-1/+2
| | | | | | | | | TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135569 91177308-0d34-0410-b5e6-96231b3b80d8
* Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions forEvan Cheng2011-07-181-1/+1
| | | | | | | better location welcome). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135438 91177308-0d34-0410-b5e6-96231b3b80d8
* Initialize moveTypeModule.Rafael Espindola2011-05-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131157 91177308-0d34-0410-b5e6-96231b3b80d8
* Use .cfi_sections to put the unwind info in .debug_frame when possible. WithRafael Espindola2011-05-101-1/+10
| | | | | | | | | this clang will use .debug_frame in, for example, clang -g -c -m32 test.c This matches gcc's behaviour. It looks like .debug_frame is a bit bigger than .eh_frame, but has the big advantage of not being allocated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131140 91177308-0d34-0410-b5e6-96231b3b80d8
* Only produce the eh_frame section if we have at least one personality function.Rafael Espindola2011-05-021-7/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130692 91177308-0d34-0410-b5e6-96231b3b80d8
* The last hack for producing bit identical output with cfi on OS X.Rafael Espindola2011-04-291-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130504 91177308-0d34-0410-b5e6-96231b3b80d8
* Change DwarfCFIException's member variables to track what it actuallyRafael Espindola2011-04-291-28/+31
| | | | | | emmits: .cfi_personality, .cfi_lsda and the moves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130503 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor some code to needsCFIMoves. Avoid printing moves when we don't have to.Rafael Espindola2011-04-291-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130501 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary argument.Rafael Espindola2011-04-271-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130343 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, andRafael Espindola2011-04-271-11/+2
| | | | | | | | | | | | | | | | | | give it a bit more responsibility. Also implement it for MachO. If hacked to use cfi, 32 bit MachO will produce .cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr and 64 bit will produce .cfi_presonality ___gxx_personality_v0 The general idea is that .cfi_personality gets passed the final symbol. It is up to codegen to produce it if using indirect representation (like 32 bit MachO), but it is up to MC to decide which relocations to create. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130341 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the logic. Noticed by aKor.Rafael Espindola2011-04-241-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130116 91177308-0d34-0410-b5e6-96231b3b80d8
* Synchronize the conditions for producing a .cfi_startproc and a .cfi_endproc.Rafael Espindola2011-04-241-1/+1
| | | | | | Fixes PR9787. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130115 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused variable.Benjamin Kramer2011-04-161-5/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129639 91177308-0d34-0410-b5e6-96231b3b80d8
* Put each personality function in a section. This fixes the gnu ld warning:Rafael Espindola2011-04-161-8/+3
| | | | | | error in foo.o; no .eh_frame_hdr table will be created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129635 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 129518 back with a fix for when we are producing eh just because of ↵Rafael Espindola2011-04-151-16/+28
| | | | | | | | | debug info. Change ELF systems to use CFI for producing the EH tables. This reduces the size of the clang binary in Debug builds from 690MB to 679MB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129571 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r129518, "Change ELF systems to use CFI for producing the EH tables. ↵NAKAMURA Takumi2011-04-151-27/+15
| | | | | | | | This reduces the" It broke several builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129557 91177308-0d34-0410-b5e6-96231b3b80d8
* Change ELF systems to use CFI for producing the EH tables. This reduces theRafael Espindola2011-04-141-15/+27
| | | | | | size of the clang binary in Debug builds from 690MB to 679MB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129518 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a possibility to switch between CFI directives- and table-based frame ↵Anton Korobeynikov2011-01-141-1/+1
| | | | | | description emission. Currently all the backends use table-based stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123476 91177308-0d34-0410-b5e6-96231b3b80d8
* Add CFI directives-based frame information emission. Not hooked yet.Anton Korobeynikov2011-01-141-0/+138
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123474 91177308-0d34-0410-b5e6-96231b3b80d8