summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ELFWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove the old ELF writer.Rafael Espindola2012-01-051-1105/+0
| | | | llvm-svn: 147615
* Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.Evan Cheng2011-07-201-3/+1
| | | | | | | 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 fromEvan Cheng2011-07-201-0/+1
| | | | | | | | TargetLoweringObjectFileImpl down to MCObjectFileInfo. TargetAsmInfo is done to one last method. It's *almost* gone! llvm-svn: 135569
* Convert TargetData::getIndexedOffset to use ArrayRef.Jay Foad2011-07-191-2/+1
| | | | llvm-svn: 135478
* Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo downEvan Cheng2011-07-181-1/+3
| | | | | | | | | 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
* land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner2011-07-181-2/+2
| | | | llvm-svn: 135375
* Fix a FIXME by making GlobalVariable::getInitializer() return aJay Foad2011-06-191-2/+2
| | | | | | const Constant *. llvm-svn: 133400
* Fix a ton of comment typos found by codespell. Patch byChris Lattner2011-04-151-1/+1
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558
* Just because a GlobalVariable's initializer is [N x { i32, void ()* }] doesn'tNick Lewycky2011-04-111-1/+5
| | | | | | | | | | | | mean that it has to be ConstantArray of ConstantStruct. We might have ConstantAggregateZero, at either level, so don't crash on that. Also, semi-deprecate the sentinal value. The linker isn't aware of sentinals so we end up with the two lists appended, each with their "sentinals" on them. Different parts of LLVM treated sentinals differently, so make them all just ignore the single entry and continue on with the rest of the list. llvm-svn: 129307
* llvm.global_[cd]tor is defined to be either external, or appending with an arrayNick Lewycky2011-04-081-11/+9
| | | | | | | of { i32, void ()* }. Teach the verifier to verify that, deleting copies of checks strewn about. llvm-svn: 129128
* Move broken HasCommonSymbols to ELFWriter.cpp.Rafael Espindola2011-02-141-1/+13
| | | | llvm-svn: 125490
* Fixed version of 121434 with no new memory leaks.Rafael Espindola2010-12-101-1/+2
| | | | llvm-svn: 121471
* Revert my previous patch to make the valgrind bots happy.Rafael Espindola2010-12-101-2/+1
| | | | llvm-svn: 121461
* Initial support for the cfi directives. This is just enough to getRafael Espindola2010-12-091-1/+2
| | | | | | | | | | | f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-1/+1
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-1/+1
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* Get rid of a bunch of duplicated ELF enum values.Eli Friedman2010-07-161-14/+14
| | | | llvm-svn: 108520
* Add more const qualifiers for LLVM IR pointers in CodeGen.Dan Gohman2010-04-151-1/+1
| | | | llvm-svn: 101342
* Use twines to simplify calls to report_fatal_error. For code size and ↵Benjamin Kramer2010-04-081-4/+2
| | | | | | readability. llvm-svn: 100756
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-071-2/+2
| | | | llvm-svn: 100709
* give Mangler access to TargetData.Chris Lattner2010-03-121-1/+1
| | | | llvm-svn: 98378
* make the mangler take an MCContext instead of an MAI.Chris Lattner2010-03-121-1/+1
| | | | | | No functionality change. llvm-svn: 98363
* change MCContext to always have an MCAsmInfo.Chris Lattner2010-03-111-1/+1
| | | | llvm-svn: 98293
* remove dead #include, stupid symlinks.Chris Lattner2010-02-021-1/+0
| | | | llvm-svn: 95150
* Remove a bunch of stuff around the edges of the ELF writer.Chris Lattner2010-02-021-9/+0
| | | | | | | Now the only use of the ELF writer is the JIT, which won't be easy to fix in the short term. :( :( llvm-svn: 95148
* remove a dead call.Chris Lattner2010-01-231-4/+0
| | | | llvm-svn: 94297
* now that mangler is in libtarget, it can use MCAsmInfo instead of clientsChris Lattner2010-01-171-1/+1
| | | | | | having to pass various fields from it in. Simplify. llvm-svn: 93686
* move the mangler into libtarget from vmcore.Chris Lattner2010-01-161-1/+1
| | | | llvm-svn: 93664
* remove a couple of actively incorrect uses of getMangledName.Chris Lattner2010-01-161-4/+6
| | | | llvm-svn: 93627
* Change errs() to dbgs().David Greene2010-01-041-1/+1
| | | | llvm-svn: 92502
* strength reduce a ton of type equality tests to check the typeid (ThroughChris Lattner2009-10-051-7/+6
| | | | | | | | the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. llvm-svn: 83297
* Fix ELF Writter related memory leaksBruno Cardoso Lopes2009-09-011-7/+18
| | | | llvm-svn: 80717
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-2/+2
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-2/+2
| | | | llvm-svn: 79763
* Convert DOUT to DEBUG(errs()...).Bill Wendling2009-08-221-6/+5
| | | | llvm-svn: 79749
* *try* to use a better name to describe how common symbols are marked on the ↵Bruno Cardoso Lopes2009-08-141-1/+1
| | | | | | elf object file. llvm-svn: 79029
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-7/+9
| | | | llvm-svn: 78948
* Remove hack used to strip unwanted chars from section nameBruno Cardoso Lopes2009-08-131-98/+64
| | | | | | | Use MCSectionELF methods as much as possible, removing some ELFWriter methods which are now unused llvm-svn: 78940
* Change MCSectionELF to represent a section semantically instead ofBruno Cardoso Lopes2009-08-131-16/+20
| | | | | | | syntactically as a string, very similiar to what Chris did with MachO. The parsing support and validation is not introduced yet. llvm-svn: 78890
* Move ConstantExpr handling to ResolveConstantExpr method and alsoBruno Cardoso Lopes2009-08-101-27/+84
| | | | | | add support for PtrToInt, Add, Mul. llvm-svn: 78552
* sink the 'name' and 'isdirective' state out of MCSection into its derived ↵Chris Lattner2009-08-081-8/+12
| | | | | | | | classes. This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-) llvm-svn: 78517
* ELF improvements:Bruno Cardoso Lopes2009-08-081-53/+87
| | | | | | | | | | | Handle large integers, x86_fp80, ConstantAggregateZero, and two more ConstantExpr: GetElementPtr and IntToPtr Set SHF_MERGE bit for mergeable strings Avoid zero initialized strings to be classified as a bss symbol Don't allow common symbols to be classified as STB_WEAK Add a constant to be used as a global value offset in data relocations llvm-svn: 78476
* - Remove custom handling of jumptables by the elf writter (this wasBruno Cardoso Lopes2009-08-051-77/+157
| | | | | | | | | | | | a dirty hack and isn't need anymore since the last x86 code emitter patch) - Add a target-dependent modifier to addend calculation - Use R_X86_64_32S relocation for X86::reloc_absolute_word_sext - Use getELFSectionFlags whenever possible - fix getTextSection to use TLOF and emit the right text section - Handle global emission for static ctors, dtors and Type::PointerTyID - Some minor fixes llvm-svn: 78176
* remove the dead ELFTargetAsmInfo.h/cpp file. TargetAsmInfoChris Lattner2009-08-021-1/+1
| | | | | | defaults to being ELF. llvm-svn: 77866
* (re)introduce new simpler apis for creation sectionkinds.Chris Lattner2009-08-011-8/+7
| | | | llvm-svn: 77834
* Remove "JumpTableDataSection" from TAI, instead, have AsmPrinterChris Lattner2009-08-011-2/+8
| | | | | | | | | | | | compute it based on what it knows. As part of this, rename getSectionForMergeableConstant to getSectionForConstant because it works for non-mergable constants also. The only functionality change from this is that Xcore will start dropping its jump tables into readonly section instead of data section in -static mode. This should be fine as the linker resolves the relocations. If this is a problem, let me know and we'll come up with another solution. llvm-svn: 77833
* Change SectionKind to be a property that is true of a *section*, itChris Lattner2009-08-011-6/+6
| | | | | | | | | | | | | | | | | | should have no state that is specific to particular globals in the section. In this case, it means the removal of the "isWeak" and "ExplicitSection" bits. MCSection uses the new form of SectionKind. To handle isWeak, I introduced a new SectionInfo class, which is SectionKind + isWeak, and it is used by the part of the code generator that does classification of a specific global. The ExplicitSection disappears. It is moved onto MCSection as a new "IsDirective" bit. Since the Name of a section is either a section or directive, it makes sense to keep this bit in MCSection. Ultimately the creator of MCSection should canonicalize (e.g.) .text to whatever the actual section is. llvm-svn: 77803
* switch off of 'Section' onto MCSection. We're not properly usingChris Lattner2009-07-311-2/+3
| | | | | | MCSection subclasses yet, but this is a step in the right direction. llvm-svn: 77708
* refactor section construction in TLOF to be through an explicitChris Lattner2009-07-311-0/+8
| | | | | | initialize method, which can be called when an MCContext is available. llvm-svn: 77687
OpenPOWER on IntegriCloud