summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* remove the dead PreferredEHDataFormat TAI hook: its now deadChris Lattner2009-08-023-84/+1
| | | | | | even considering #if 0 code. llvm-svn: 77856
* Fix some fixme's in #if 0'd code by making it dependent on the structuralChris Lattner2009-08-021-29/+34
| | | | | | | behavior of the LSDA section instead of on some random target hook that needs to be kept in synch with other points of truth. llvm-svn: 77855
* move getDwarfExceptionSection from TAI to TLOF and rename it to Chris Lattner2009-08-025-10/+15
| | | | | | | | | | | getLSDASection() to be more specific. This makes it pretty obvious that the ELF LSDA section is being specified wrong in PIC mode. We're probably getting a lot of startup-time relocations to a readonly page, which is expensive and bad. Someone who cares about ELF C++ should investigate this. llvm-svn: 77847
* Fix a possible crash on delete of an uninitialized variable.Daniel Dunbar2009-08-022-1/+7
| | | | llvm-svn: 77846
* Don't call SectionForGlobal for hasAvailableExternallyLinkage()Dan Gohman2009-08-021-1/+1
| | | | | | variables either. llvm-svn: 77844
* don't call SectionForGlobal on declarations, you can't tell the section aChris Lattner2009-08-021-1/+3
| | | | | | declaration will end up in. llvm-svn: 77843
* convert ctors/dtors section to be in TLOF instead ofChris Lattner2009-08-028-25/+66
| | | | | | TAI. llvm-svn: 77842
* don't override the default of this, the only difference is \t instead of ' '.Chris Lattner2009-08-021-2/+0
| | | | llvm-svn: 77838
* Change MCOperand to use Create style instead of Make style for constructingDaniel Dunbar2009-08-022-10/+11
| | | | | | operands. llvm-svn: 77837
* Make SectionKind::get() private.Chris Lattner2009-08-024-22/+22
| | | | llvm-svn: 77835
* (re)introduce new simpler apis for creation sectionkinds.Chris Lattner2009-08-013-72/+64
| | | | llvm-svn: 77834
* Remove "JumpTableDataSection" from TAI, instead, have AsmPrinterChris Lattner2009-08-017-25/+23
| | | | | | | | | | | | 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
* give alpha its readonly section. This optimizes alpha, and prevents aChris Lattner2009-08-011-0/+2
| | | | | | testsuite regression with a coming patch. llvm-svn: 77832
* .rdata == .rodata on mips.Chris Lattner2009-08-011-1/+0
| | | | llvm-svn: 77827
* no need to override the default with the default.Chris Lattner2009-08-011-1/+0
| | | | llvm-svn: 77826
* eXtensible Systems doesn't exist any more and Reid donated this to theChris Lattner2009-08-011-6/+0
| | | | | | project under the normal license, yay. :) llvm-svn: 77823
* loweringinfo is always non-null.Chris Lattner2009-08-011-1/+1
| | | | llvm-svn: 77821
* REmove dead fields of TAI.Chris Lattner2009-08-0111-25/+0
| | | | llvm-svn: 77820
* fix a problem Eli noticed where we would compile the attached ptrtointChris Lattner2009-08-011-13/+13
| | | | | | | | | | | | | | | to: .quad X even on a 32-bit system, where X is not 64-bits. There isn't much that we can do here, so we just print: .quad ((X) & 4294967295) instead. llvm-svn: 77818
* update for renameChris Lattner2009-08-011-3/+3
| | | | llvm-svn: 77817
* fix a fixme by sinking various target-specific directives down into Chris Lattner2009-08-012-18/+15
| | | | | | the appropriate subclasses. llvm-svn: 77815
* coff also doesn't have a ReadOnlySection yet, (!)Chris Lattner2009-08-011-3/+0
| | | | llvm-svn: 77814
* coff doesn't set a .bss seciton, so this is dead.Chris Lattner2009-08-011-3/+0
| | | | llvm-svn: 77813
* it turns out that isWeak() was basically dead anyway. Kill off SectionInfo :-/Chris Lattner2009-08-013-50/+49
| | | | llvm-svn: 77812
* don't use isWeak anymore.Chris Lattner2009-08-011-4/+4
| | | | llvm-svn: 77810
* Fix typos in comments.Dan Gohman2009-08-012-2/+2
| | | | llvm-svn: 77806
* Change SectionKind to be a property that is true of a *section*, itChris Lattner2009-08-019-161/+187
| | | | | | | | | | | | | | | | | | 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
* Minor code cleanups.Dan Gohman2009-08-011-8/+6
| | | | llvm-svn: 77795
* Print the target flags as an int instead of a char, as they aren'tDan Gohman2009-08-011-4/+4
| | | | | | actually characters. llvm-svn: 77794
* Add newline at end of file to remove gcc warning.Nick Lewycky2009-08-011-1/+1
| | | | llvm-svn: 77791
* All MCSections are now required to have a SectionKind.Chris Lattner2009-08-012-9/+6
| | | | llvm-svn: 77787
* Workaround a couple of Darwin assembler bugs.Evan Cheng2009-08-013-31/+71
| | | | llvm-svn: 77781
* Give MachineFunctionAnalysis a destructor so it can verify thatDan Gohman2009-08-011-0/+4
| | | | | | that it released its allocated memory. llvm-svn: 77775
* Delete a redundant variable.Dan Gohman2009-08-011-1/+0
| | | | llvm-svn: 77774
* Minor code simplifications.Dan Gohman2009-08-011-8/+8
| | | | llvm-svn: 77769
* Minor code simplifications.Dan Gohman2009-08-012-8/+1
| | | | llvm-svn: 77768
* Split t2MOVCCs since some assemblers do not recognize mov shifted register ↵Evan Cheng2009-08-012-8/+29
| | | | | | alias with predicate. llvm-svn: 77764
* SelectionDAGISel no longer needs to check hasAvailableExternallyLinkage,Dan Gohman2009-08-011-5/+0
| | | | | | | as it is now a MachineFunctionPass, and MachineFunctionPass now handles this. llvm-svn: 77760
* Make UnreachableMachineBlockElim preserve MachineDominatorTree andDan Gohman2009-08-011-0/+15
| | | | | | | | | MachineLoopInfo. llc now runs MachineLoopInfo and MachineDominatorTree only twice, instead of three times. llvm-svn: 77759
* The X86 maximal stack alignment calculator preserves the CFG. Also,Dan Gohman2009-08-011-2/+9
| | | | | | be more careful about the return value of runOnMachineFunction. llvm-svn: 77758
* X86 floating-point passes don't modify the CFG.Dan Gohman2009-08-012-0/+2
| | | | llvm-svn: 77757
* Fix Thumb2 function call isel. Thumb1 and Thumb2 should share the sameEvan Cheng2009-08-015-72/+40
| | | | | | | | | instructions for calls since BL and BLX are always 32-bit long and BX is always 16-bit long. Also, we should be using BLX to call external function stubs. llvm-svn: 77756
* Use setPreservesAll in X86CodeEmitter.Dan Gohman2009-07-311-0/+1
| | | | llvm-svn: 77755
* Use setPreservesAll and setPreservesCFG in CodeGen passes.Dan Gohman2009-07-3117-14/+31
| | | | llvm-svn: 77754
* SelectionDAGISel does not "preserve all", since it makes lots of changesDan Gohman2009-07-311-1/+3
| | | | | | to the MachineFunction. llvm-svn: 77753
* Use a range insert instead of an explicit loop.Dan Gohman2009-07-311-2/+1
| | | | llvm-svn: 77752
* llvm-mc: Fix .s output to quote section & symbol names when necessary.Daniel Dunbar2009-07-311-12/+51
| | | | llvm-svn: 77749
* Privatize all but one of the remaining constant tables.Owen Anderson2009-07-312-62/+55
| | | | llvm-svn: 77748
* Allow target intrinsics that return multiple values, i.e., struct types,Bob Wilson2009-07-311-15/+9
| | | | | | | | | | | | | | | | | | | | | | | | in SelectionDAGLowering::visitTargetIntrinsic. This removes a bit of special-case code for vector types. After staring at it for a while, I managed to convince myself that it is not necessary. The only case where TLI.getValueType() differs from MVT::getMVT is for iPTR, so this code could potentially make a difference for a vector of pointers. But, it looks like that is not supported. Calling TLI.getValueType() on a vector of pointers leads to the following sequence of calls: TargetLowering::getValueType MVT::getMVT MVT::getVectorVT(iPTR, num elements) MVT::getExtendedVectorVT MVT::getTypeForMVT for iPTR assertion fails "Type is not extended!" So, unless I'm really missing something, this bit of code is irrelevant to the current version of LLVM, which is consistent with the fact that I don't see this code in other similar places. llvm-svn: 77747
* llvm-mc: A few more parsing / match tweaks.Daniel Dunbar2009-07-311-11/+42
| | | | | | | | | | | | | | - Operands which are just a label should be parsed as immediates, not memory operands (from the assembler perspective). - Match a few more flavors of immediates. - Distinguish match functions for memory operands which don't take a segment register. - We match the .s for "hello world" now! llvm-svn: 77745
OpenPOWER on IntegriCloud