summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Make some changes suggested by Bill and Evan.David Greene2009-07-222-34/+25
| | | | llvm-svn: 76775
* Fix thinko.Devang Patel2009-07-221-1/+1
| | | | llvm-svn: 76769
* Use isa<> instead of dyn_cast<>.Devang Patel2009-07-221-1/+1
| | | | llvm-svn: 76767
* Add replaceAllUsesWith() to FE replace debug info constructs while building ↵Devang Patel2009-07-221-0/+12
| | | | | | complex types. llvm-svn: 76765
* Do not print "metadata" twice while printing MDString.Devang Patel2009-07-221-2/+0
| | | | | | This fixes unittest failure. llvm-svn: 76764
* Eliminate a redudant check Eli pointed out.Evan Cheng2009-07-221-2/+2
| | | | llvm-svn: 76762
* Fixed build warning. No functionality change.Sanjiv Gupta2009-07-221-1/+1
| | | | llvm-svn: 76761
* Introduce MetadataBase, a base class for MDString and MDNode.Devang Patel2009-07-229-67/+155
| | | | | | | Derive MDString directly from MetadataBase. Introduce new bitcode block to hold metadata. llvm-svn: 76759
* doxygenifyChris Lattner2009-07-221-7/+7
| | | | llvm-svn: 76750
* Add newline at end of file.Duncan Sands2009-07-221-1/+1
| | | | llvm-svn: 76736
* Thread local globals don't require special handling by the linker and so canRichard Osborne2009-07-221-0/+7
| | | | | | be placed in the standard data / bss sections. llvm-svn: 76735
* Revert commit 76707, it was breaking the llvm-gcc buildDuncan Sands2009-07-221-2/+1
| | | | | | | | on linux platforms. The binutils assembler does not recognize the "s" flag, see for example http://sourceware.org/binutils/docs/as/Section.html llvm-svn: 76733
* Don't give a massive inlining cost bonus to available_externally Eli Friedman2009-07-221-2/+1
| | | | | | | | functions with a single use; eliminating the single use may eliminate the function from the current module, but usually doesn't eliminate it from the final program. llvm-svn: 76730
* Don't forget D16 - D31 are clobbered by calls and sjlj eh.Evan Cheng2009-07-223-10/+20
| | | | llvm-svn: 76729
* Add R12 to the list of registers clobbered by 16-bit Thumb calls as a ↵Evan Cheng2009-07-221-2/+2
| | | | | | pre-caution. r12 could be live once we have mixed 32-bit and 16-bit instructions. llvm-svn: 76728
* Fix a obvious copy-n-paste bug.Evan Cheng2009-07-221-1/+1
| | | | llvm-svn: 76727
* Get rid one of the getRegisterNumbering. Also add D16 - D31.Evan Cheng2009-07-223-69/+78
| | | | llvm-svn: 76725
* Add support for MMX VSETCC.Eli Friedman2009-07-222-0/+33
| | | | llvm-svn: 76713
* Added the unconditional JMP with an 8-bit relocation for theSean Callanan2009-07-221-1/+3
| | | | | | assembler / disassembler. llvm-svn: 76712
* Add an entry.Evan Cheng2009-07-221-0/+4
| | | | llvm-svn: 76711
* inline the two MergeableConstSection implementations into theirChris Lattner2009-07-222-25/+18
| | | | | | only caller. llvm-svn: 76710
* set the ELF "small" flag on objects that end up in .rodata.cst4 consistently,Chris Lattner2009-07-221-1/+2
| | | | | | updating a mips testcase to expect it. llvm-svn: 76707
* don't set the small flag yet.Chris Lattner2009-07-221-2/+1
| | | | llvm-svn: 76706
* remove the SelectSectionForMachineConst hook, replacing it withChris Lattner2009-07-225-44/+68
| | | | | | | | a new getSectionForMergableConstant hook. This removes one dependence of TAI on Type, and provides the hook with enough info to make the right decision based on whether the global has relocations etc. llvm-svn: 76705
* Let each target determines whether a machine instruction is dead. If true, ↵Evan Cheng2009-07-223-25/+30
| | | | | | | | that allows late codeine passes to delete it. This is considered a workaround. The problem is some targets are not modeling side effects correctly. PPC is apparently one of those. This patch allows ppc llvm-gcc to bootstrap on Darwin. Once we find out which instruction definitions are wrong, we can remove the PPCInstrInfo workaround. llvm-svn: 76703
* Get rid of the Pass+Context magic.Owen Anderson2009-07-2296-733/+793
| | | | llvm-svn: 76702
* reimplement Constant::ContainsRelocations as Chris Lattner2009-07-224-47/+36
| | | | | | | | | Constant::getRelocationInfo(), which has a much simpler to use API. It still should not be part of libvmcore, but is better than it was. Also teach it to be smart about hidden visibility. llvm-svn: 76700
* Fixing cp island pass. Step 1: Determine whether the constant pool offset can beEvan Cheng2009-07-211-18/+23
| | | | | | | negative on an individual bases rather than basing on whether it's in thumb mode. llvm-svn: 76698
* Fix comment.Evan Cheng2009-07-211-1/+1
| | | | llvm-svn: 76693
* simplify code now that it is inlined.Chris Lattner2009-07-212-16/+5
| | | | llvm-svn: 76689
* Exposed PHIElimination pass within CodeGen.Lang Hames2009-07-212-74/+101
| | | | llvm-svn: 76688
* Now that RelocBehaviour() is never overloaded, it doesn't need to beChris Lattner2009-07-212-10/+10
| | | | | | | virtual. Just inline it into its two current call sites in preparation for simplifying the code. llvm-svn: 76686
* this doesn't break any of the 4 ia64 tests.Chris Lattner2009-07-212-6/+0
| | | | llvm-svn: 76683
* alpha doesn't need to redefine this: it only supports PIC codegen anyway.Chris Lattner2009-07-212-7/+0
| | | | llvm-svn: 76682
* Add some support for iterative coalescers to calculate a joined liveDavid Greene2009-07-212-2/+35
| | | | | | | | | | range's weight properly. This is turned off right now in the sense that you'll get an assert if you get into a situation that can only be caused by an iterative coalescer. All other code paths operate exactly as before so there is no functional change with this patch. The asserts should be disabled if/when an iterative coalescer gets added to trunk. llvm-svn: 76680
* no really, I can spell!Chris Lattner2009-07-212-3/+3
| | | | llvm-svn: 76679
* add an API so target-independent codegen can determine if a constantChris Lattner2009-07-212-1/+27
| | | | | | | | pool entry will require relocations against it. I implemented this conservatively for ARM, someone who is knowledgable about it should see if this can be improved. llvm-svn: 76678
* Convert instcombine from using using getAnalysis<TargetData> toDan Gohman2009-07-211-46/+62
| | | | | | getAnalysisIfAvailable<TargetData>. llvm-svn: 76676
* Permit the IntPtrTy argument to isEliminableCastPair to be null,Dan Gohman2009-07-211-0/+4
| | | | | | to help support use when TargetData is not available. llvm-svn: 76675
* Change ELFCodeEmitter logic to emit the constant pool and jump tables toBruno Cardoso Lopes2009-07-212-27/+29
| | | | | | | | their appropriate sections before the code itself. They need to be emitted before the function because on some targets (x86 but not x86_64) the later may reference a JT or CP entry address llvm-svn: 76672
* Replace the original ad-hoc code for determining whether (v pred w) impliesDan Gohman2009-07-211-104/+197
| | | | | | | | (x pred y) with more thorough code that does more complete canonicalization before resorting to range checks. This helps it find more cases where the canonicalized expressions match. llvm-svn: 76671
* remove the last bits of SectionFlagsForGlobal. There is some flag here thatChris Lattner2009-07-212-30/+2
| | | | | | | | | depends on XS1A, but I think the ReadOnlySection is already set up for this and there is no testcase that this breaks. If this is really needed, we can add the appropriate parameterization to TargetAsmInfo in the future to support this. llvm-svn: 76667
* don't mask out the small flag and then reapply it later.Chris Lattner2009-07-211-15/+1
| | | | llvm-svn: 76666
* if Xcore doesn't support TLS, it doesn't have to worry about thread local ↵Chris Lattner2009-07-211-1/+1
| | | | | | LLVM IR, it should be rejected by a front-end. llvm-svn: 76665
* remove the Xcore implementation of SelectSectionForGlobal. While you haveChris Lattner2009-07-212-22/+0
| | | | | | to twist your brain to see it, I believe it is the same as ELFTargetAsmInfo::SelectSectionForGlobal. llvm-svn: 76664
* simplify based on the fact that darwin always uses L/l.Chris Lattner2009-07-211-8/+4
| | | | llvm-svn: 76662
* make some stuff private.Chris Lattner2009-07-211-10/+3
| | | | llvm-svn: 76661
* Remove the XCore custom implementation of MergeableConstSection, relying onChris Lattner2009-07-212-18/+0
| | | | | | | | the generic ELF version instead. This will result in its mergable constant sections getting named ".rodata.cst4" instead of ".cp.const4", but the linker looks at the section flags, not the name of the section AFAICT. llvm-svn: 76659
* inline a trivial method into its only call site and fix indentation of casesChris Lattner2009-07-211-21/+16
| | | | llvm-svn: 76654
* Remove some overridden functions in XCoreTargetAsmInfo that areChris Lattner2009-07-213-70/+5
| | | | | | | implemented exactly the same way as its ELFTargetAsmInfo subclass has them. llvm-svn: 76653
OpenPOWER on IntegriCloud