aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* add a new random feature testChris Lattner2009-11-261-1/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89921 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize DecomposeGEPExpression to exactly handle what ↵Chris Lattner2009-11-261-30/+62
| | | | | | Value::getUnderlyingObject does (when TD is around). This allows us to avoid calling DecomposeGEPExpression unless the ultimate alias check we care about passes, speedup up BasicAA a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89920 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement a new DecomposeGEPExpression method, which decomposes a GEP into a ↵Chris Lattner2009-11-261-40/+121
| | | | | | list of scaled offsets. Use this to eliminate some previous ad-hoc code which was subtly broken (it assumed all Constant*'s were non-zero, but strange constant express could be zero). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89915 91177308-0d34-0410-b5e6-96231b3b80d8
* Use GEPOperator more pervasively to simplify code.Chris Lattner2009-11-261-29/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89914 91177308-0d34-0410-b5e6-96231b3b80d8
* update some notes slightlyChris Lattner2009-11-261-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89913 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some redundant bracesChris Lattner2009-11-261-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89912 91177308-0d34-0410-b5e6-96231b3b80d8
* Test for 89905.Evan Cheng2009-11-261-0/+116
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89906 91177308-0d34-0410-b5e6-96231b3b80d8
* When all defs of a vr are implicit_def, delete all of the defs.Evan Cheng2009-11-261-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89905 91177308-0d34-0410-b5e6-96231b3b80d8
* Split tail duplication into a separate pass. This is needed to avoidBob Wilson2009-11-268-239/+320
| | | | | | | | | | running tail duplication when doing branch folding for if-conversion, and we also want to be able to run tail duplication earlier to fix some reg alloc problems. Move the CanFallThrough function from BranchFolding to MachineBasicBlock so that it can be shared by TailDuplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89904 91177308-0d34-0410-b5e6-96231b3b80d8
* Test for llvm-gcc checkin 89898.Dale Johannesen2009-11-251-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89899 91177308-0d34-0410-b5e6-96231b3b80d8
* 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