aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update to reflect recent debugging information encoding changes.Devang Patel2009-11-251-219/+118
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89896 91177308-0d34-0410-b5e6-96231b3b80d8
* Rollback changes r89516: Added two SubtargetFeatures::AddFeatures methods, ↵Viktor Kutuzov2009-11-253-44/+3
| | | | | | which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89893 91177308-0d34-0410-b5e6-96231b3b80d8
* ProcessImplicitDefs should watch out for invalidated iterator and extra ↵Evan Cheng2009-11-252-14/+101
| | | | | | implicit operands on copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89880 91177308-0d34-0410-b5e6-96231b3b80d8
* Tail duplicate indirect branches for PowerPC, too.Bob Wilson2009-11-251-0/+2
| | | | | | | | With the testcase for pr3120, the "threaded interpreter" runtime decreases from 1788 to 1413 with this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89877 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid some possibly unsafe uses of StringRef::data().Benjamin Kramer2009-11-252-7/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89873 91177308-0d34-0410-b5e6-96231b3b80d8
* Use StringRef (again) in DebugInfo interface.Devang Patel2009-11-255-134/+138
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89866 91177308-0d34-0410-b5e6-96231b3b80d8
* Based on the testcase for pr3120, running on my MacPro with Xeon processors,Bob Wilson2009-11-251-0/+2
| | | | | | | | it is definitely profitable to tail duplicate indirect branches for x86. This is likely to be true to various degrees for all modern x86 processors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89865 91177308-0d34-0410-b5e6-96231b3b80d8
* Support PIC loading of constant pool entriesBruno Cardoso Lopes2009-11-253-14/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89863 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust comments to new semantics.Edward O'Callaghan2009-11-251-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89862 91177308-0d34-0410-b5e6-96231b3b80d8
* Sketch structure for X86 disassembler.Daniel Dunbar2009-11-254-1/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89850 91177308-0d34-0410-b5e6-96231b3b80d8
* API change Path::isSpecialFile to Path::isRegularFile, improve semantics in ↵Edward O'Callaghan2009-11-253-10/+14
| | | | | | regards to comments from 89765 post review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89848 91177308-0d34-0410-b5e6-96231b3b80d8
* Perform explicit instantiations in the proper namespace, since Clang ↵Douglas Gregor2009-11-251-0/+2
| | | | | | diagnoses this ill-formity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89846 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting patch in revision 89758, initial attempt at fixing PR5373 has ↵Edward O'Callaghan2009-11-252-24/+1
| | | | | | proven to be bogus. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89844 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the rest of the build system logic for optional target disassemblersDaniel Dunbar2009-11-255-3/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89841 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate configureDaniel Dunbar2009-11-251-32/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89840 91177308-0d34-0410-b5e6-96231b3b80d8
* Add CMake and configure logic to create llvm/Config/Disassemblers.defs.Daniel Dunbar2009-11-253-2/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89839 91177308-0d34-0410-b5e6-96231b3b80d8
* Sketch TableGen disassembler emitter, based on patch by Sean Callanan.Daniel Dunbar2009-11-254-0/+66
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89833 91177308-0d34-0410-b5e6-96231b3b80d8
* Use endianess dependent offsets for load/store of doubles whenBruno Cardoso Lopes2009-11-251-0/+8
| | | | | | | using two swc/lwc instead of sdc/ldc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89826 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix compiler warnings.Dale Johannesen2009-11-251-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89824 91177308-0d34-0410-b5e6-96231b3b80d8
* Only include in the callee saved regs the sub registers to avoidBruno Cardoso Lopes2009-11-251-5/+2
| | | | | | | unnecessary save/restore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89823 91177308-0d34-0410-b5e6-96231b3b80d8
* Add proper emission of load/store double to stack slots for mips1 targets!Bruno Cardoso Lopes2009-11-251-21/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89821 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r89803.Devang Patel2009-11-251-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89819 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor target hook for tail duplication as requested by Chris.Bob Wilson2009-11-244-17/+18
| | | | | | | | | | | | | Make tail duplication of indirect branches much more aggressive (for targets that indicate that it is profitable), based on further experience with this transformation. I compiled 3 large applications with and without this more aggressive tail duplication and measured minimal changes in code size. ("size" on Darwin seems to round the text size up to the nearest page boundary, so I can only say that any code size increase was less than one 4k page.) Radar 7421267. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89814 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not store R31 into the caller's link area on PPC.Dale Johannesen2009-11-246-32/+43
| | | | | | | | | | | | | | This violates the ABI (that area is "reserved"), and while it is safe if all code is generated with current compilers, there is some very old code around that uses that slot for something else, and breaks if it is stored into. Adjust testcases looking for current behavior. I've verified that the stack frame size is right in all testcases, whether it changed or not. 7311323. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89811 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable debug info for ppc-darwin.Devang Patel2009-11-241-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89803 91177308-0d34-0410-b5e6-96231b3b80d8
* Use StringRef instead of std::string in DIEString.Devang Patel2009-11-245-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89793 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove DebugLabelFolder pass. It is not used by dwarf writer anymore.Devang Patel2009-11-244-97/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89790 91177308-0d34-0410-b5e6-96231b3b80d8
* Swith to pubtypes section before emitting pub types.Devang Patel2009-11-241-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89787 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove bogus error handling code.Daniel Dunbar2009-11-241-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89786 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comments as pre-post review for rev.89765.Edward O'Callaghan2009-11-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89770 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide Path::isSpecialFile interface for PR5568.Edward O'Callaghan2009-11-243-2/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89765 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for PR5373, Credit to Jakub Staszak.Edward O'Callaghan2009-11-242-1/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89758 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable predication of NEON instructions in Thumb2 mode.Evan Cheng2009-11-242-5/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89748 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops. Re-disable JITTest.NoStubs on ARM and PPC since they still use stubs toJeffrey Yasskin2009-11-241-0/+5
| | | | | | | make far calls work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89733 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete some dead and non-obvious code.Dan Gohman2009-11-242-55/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89729 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit pubtypes.Devang Patel2009-11-244-23/+133
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89725 91177308-0d34-0410-b5e6-96231b3b80d8
* Make capitalization of names starting "is" more consistent.Dale Johannesen2009-11-243-43/+43
| | | | | | | | No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89724 91177308-0d34-0410-b5e6-96231b3b80d8
* Data type suffix must come after predicate.Evan Cheng2009-11-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89723 91177308-0d34-0410-b5e6-96231b3b80d8
* <rdar://problem/6721894>. Allow multiple registers to be renamed together ↵David Goodwin2009-11-241-6/+0
| | | | | | (super and sub) if necessary to break an anti-dependence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89722 91177308-0d34-0410-b5e6-96231b3b80d8
* Materialize global addresses via movt/movw pair, this is always betterAnton Korobeynikov2009-11-2411-41/+147
| | | | | | | | | | | | | than doing the same via constpool: 1. Load from constpool costs 3 cycles on A9, movt/movw pair - just 2. 2. Load from constpool might stall up to 300 cycles due to cache miss. 3. Movt/movw does not use load/store unit. 4. Less constpool entries => better compiler performance. This is only enabled on ELF systems, since darwin does not have needed relocations (yet). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89720 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 column violationsJim Grosbach2009-11-241-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89718 91177308-0d34-0410-b5e6-96231b3b80d8
* * Move stub allocation inside the JITEmitter, instead of exposing aJeffrey Yasskin2009-11-2311-123/+196
| | | | | | | | | | | | | | | | way for each TargetJITInfo subclass to allocate its own stubs. This means stubs aren't as exactly-sized anymore, but it lets us get rid of TargetJITInfo::emitFunctionStubAtAddr(), which lets ARM and PPC support the eager JIT, fixing http://llvm.org/PR4816. * Rename the JITEmitter's stub creation functions to describe the kind of stub they create. So far, all of them create lazy-compilation stubs, but they sometimes get used when far-call stubs are needed. Fixing http://llvm.org/PR5201 will involve fixing this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89715 91177308-0d34-0410-b5e6-96231b3b80d8
* enable iv-users simplification by defaultJim Grosbach2009-11-231-7/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89713 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.Dan Gohman2009-11-2322-108/+2
| | | | | | | | | Note that "hasDotLocAndDotFile"-style debug info was already broken; people wanting this functionality should implement it in the AsmPrinter/DwarfWriter code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89711 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow more than one stub to be being generated at the same time.Jeffrey Yasskin2009-11-237-73/+97
| | | | | | | | | | It's probably better in the long run to replace the indirect-GlobalVariable system. That'll be done after a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89708 91177308-0d34-0410-b5e6-96231b3b80d8
* Massive refactoring of NEON instructions. Separate opcode from data size ↵Evan Cheng2009-11-232-858/+1012
| | | | | | | | | specifier suffix, move \t up stream to instruction format, and fix more 80 column violations. This fixes the NEON asm printing so the "predicate" field is printed between the opcode and the data type suffix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89706 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify this code.Dan Gohman2009-11-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89702 91177308-0d34-0410-b5e6-96231b3b80d8
* Print the debug info line and column in MachineInstr::print even when there'sDan Gohman2009-11-231-2/+3
| | | | | | | no filename. This situation is apparently fairly common right now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89701 91177308-0d34-0410-b5e6-96231b3b80d8
* move fconst[sd] to UAL. <rdar://7414913>Jim Grosbach2009-11-235-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89700 91177308-0d34-0410-b5e6-96231b3b80d8
* Partially revert r84730 by removing N2VDup from ARMInstrFormats.td and modifyingJohnny Chen2009-11-232-37/+21
| | | | | | | | VDUPLND and VDUPLNQ to derive from N2V instead of N2VDup. VDUPLND and VDUPLNQ now expect op19_18 and op17_16 as the first two args. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89699 91177308-0d34-0410-b5e6-96231b3b80d8