aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvm-ld doesn't throw.Chris Lattner2009-10-223-174/+167
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84819 91177308-0d34-0410-b5e6-96231b3b80d8
* this doesn't use EH either.Chris Lattner2009-10-223-38/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84818 91177308-0d34-0410-b5e6-96231b3b80d8
* nothing opt uses can throw, remove the try block and -fexceptions whenChris Lattner2009-10-223-163/+150
| | | | | | | building opt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84816 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some command line options for twiddling the default data layoutChris Lattner2009-10-221-2/+20
| | | | | | | used by opt when a module doesn't specify one. Patch from Kenneth Uildriks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84814 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't generate sbfx / ubfx with negative lsb field. Patch by David Conrad.Evan Cheng2009-10-222-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84813 91177308-0d34-0410-b5e6-96231b3b80d8
* Use StringRef to construct MDString.Devang Patel2009-10-222-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84811 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR5262.Chris Lattner2009-10-222-16/+69
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84810 91177308-0d34-0410-b5e6-96231b3b80d8
* Use special DAG-to-DAG preprocessing to allow mem-mem instructions to be ↵Anton Korobeynikov2009-10-223-21/+149
| | | | | | | | selected. Yay for ASCII graphics! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84808 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix null pointer dereference.Anton Korobeynikov2009-10-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84806 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove meaningless const.Devang Patel2009-10-222-8/+8
| | | | | | | Pass StringRef by value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84804 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the main portion of r31856. It was causing BranchFoldingDan Gohman2009-10-224-14/+14
| | | | | | | | | | | | | to break up CFG diamonds by banishing one of the blocks to the end of the function, which is bad for code density and branch size. This does pessimize MultiSource/Benchmarks/Ptrdist/yacr2, the benchmark cited as the reason for the change, however I've examined the code and it looks more like a case of gaming a particular branch than of being generally applicable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84803 91177308-0d34-0410-b5e6-96231b3b80d8
* Derive metadata hierarchy from Value instead of User.Devang Patel2009-10-217-139/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84801 91177308-0d34-0410-b5e6-96231b3b80d8
* revert r84754, it isn't the right approach. Edwin, please propose Chris Lattner2009-10-212-114/+6
| | | | | | | | patches for fixes like this instead of committing them directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84799 91177308-0d34-0410-b5e6-96231b3b80d8
* Missing piece of the ARM frame index post-scavenging conditionalizationJim Grosbach2009-10-213-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84798 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix thinko noticed by Chris.Benjamin Kramer2009-10-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84797 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust testcases for msasm -> alignstack.Dale Johannesen2009-10-213-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84796 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename msasm to alignstack per review.Dale Johannesen2009-10-2110-27/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove pointless return; at end of function.Benjamin Kramer2009-10-211-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84794 91177308-0d34-0410-b5e6-96231b3b80d8
* The spill restore needs to be resolved to the SP/FP just like the spillJim Grosbach2009-10-211-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84792 91177308-0d34-0410-b5e6-96231b3b80d8
* Conditionalize ARM/T2 frame index post-scavenging while working out fixesJim Grosbach2009-10-211-4/+31
| | | | | | for a few bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84791 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify code. No intended functionality change.Benjamin Kramer2009-10-211-12/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84790 91177308-0d34-0410-b5e6-96231b3b80d8
* Use StringRef.Devang Patel2009-10-212-7/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84786 91177308-0d34-0410-b5e6-96231b3b80d8
* Most of the NEON shuffle instructions do not support 64-bit element types.Bob Wilson2009-10-211-3/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84785 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not use SmallVector to store MDNode elements.Devang Patel2009-10-214-34/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84784 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r84764, it breaks mingw buildAnton Korobeynikov2009-10-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84783 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL this test for PPC.Bill Wendling2009-10-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84782 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve handling of immediates by splitting 32-bit immediates into two 16-bitJim Grosbach2009-10-215-27/+132
| | | | | | | | immediate operands when they will fit into the using instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84778 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DAG printing for RMW stuff debuggingAnton Korobeynikov2009-10-213-2/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84776 91177308-0d34-0410-b5e6-96231b3b80d8
* RMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and ↵Anton Korobeynikov2009-10-214-54/+75
| | | | | | disable some tests until it will be clever enough to handle them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84775 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement branch foldingAnton Korobeynikov2009-10-213-6/+178
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84774 91177308-0d34-0410-b5e6-96231b3b80d8
* Cosmetic changes, no functionality changesAnton Korobeynikov2009-10-215-41/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84773 91177308-0d34-0410-b5e6-96231b3b80d8
* Make changes to rev 84292 as requested by Chris Lattner.Victor Hernandez2009-10-215-35/+47
| | | | | | | | Most changes are cleanup, but there is 1 correctness fix: I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84772 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix NEON VST2LN instruction encoding.Bob Wilson2009-10-211-7/+7
| | | | | | | Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84767 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 84732. It was the wrong fix.Bob Wilson2009-10-211-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84766 91177308-0d34-0410-b5e6-96231b3b80d8
* Incorporate various suggestions Chris gave during metadata review.Devang Patel2009-10-212-38/+24
| | | | | | | | | | | | - i < getNumElements() instead of getNumElements() > i - Make setParent() private - Fix use of resizeOperands - Reset HasMetadata bit after removing all metadata attached to an instruction - Efficient use of iterators git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84765 91177308-0d34-0410-b5e6-96231b3b80d8
* Build shared lib instead of an archive.Sanjiv Gupta2009-10-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84764 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup of frame index scavenging. Better code flow and more accuratelyJim Grosbach2009-10-211-35/+60
| | | | | | handles T2 and ARM use cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84761 91177308-0d34-0410-b5e6-96231b3b80d8
* Two corrections for docs/CMake.html.Oscar Fuentes2009-10-211-2/+2
| | | | | | | Patch by Victor Zverovich! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84759 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR5262: when folding select into PHI, make sure all operands are availableTorok Edwin2009-10-213-6/+169
| | | | | | | | in the PHI's Basic Block. This uses a conservative approach, because we don't have dominator info in instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84754 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a pass to overlay pic16 data sections for function frame and automaticSanjiv Gupta2009-10-2111-6/+341
| | | | | | | | | | variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph to detect what function frames and their automatic variables can be overlaid. Currently this builds an archive , but needs to be changed to a loadable module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84753 91177308-0d34-0410-b5e6-96231b3b80d8
* Added more options to mcc16 driver.Sanjiv Gupta2009-10-213-38/+124
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84752 91177308-0d34-0410-b5e6-96231b3b80d8
* Match more patterns to movt.Evan Cheng2009-10-216-17/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84751 91177308-0d34-0410-b5e6-96231b3b80d8
* Need a comma after imp-use.Evan Cheng2009-10-211-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84749 91177308-0d34-0410-b5e6-96231b3b80d8
* De-bork CMake buildDouglas Gregor2009-10-211-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84744 91177308-0d34-0410-b5e6-96231b3b80d8
* Set comment string, patch by Johnny Chen!Chris Lattner2009-10-211-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84743 91177308-0d34-0410-b5e6-96231b3b80d8
* make GVN work better when TD is not around:Chris Lattner2009-10-211-15/+21
| | | | | | | | | | | | | | | | | | | "In the existing code, if the load and the value to replace it with are of different types *and* target data is available, it tries to use the target data to coerce the replacement value to the type of the load. Otherwise, it skips all effort to handle the type mismatch and just feeds the wrongly-typed replacement value to replaceAllUsesWith, which triggers an assertion. The patch replaces it with an outer if checking for type mismatch, and an inner if-else that checks whether target data is available and, if not, returns false rather than trying to replace the load." Patch by Kenneth Uildriks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84739 91177308-0d34-0410-b5e6-96231b3b80d8
* tidyChris Lattner2009-10-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84738 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some more NEON instruction encoding problems.Bob Wilson2009-10-211-6/+6
| | | | | | | Thanks to Johnny Chen for discovering the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84732 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not remove dead metadata for now.Devang Patel2009-10-211-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84731 91177308-0d34-0410-b5e6-96231b3b80d8
* Leave some NEON instruction encoding bits unspecified instead of settingBob Wilson2009-10-212-198/+247
| | | | | | | | a default value of zero. This is important for decoding the instructions. Patch by Johnny Chen, with some changes from me, too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84730 91177308-0d34-0410-b5e6-96231b3b80d8