aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a ValueMap<ValueOrSubclass*, T> type. ValueMap<Value*, T> is safe to useJeffrey Yasskin2009-10-224-0/+683
| | | | | | | | | | | | | even when keys get RAUWed and deleted during its lifetime. By default the keys act like WeakVHs, but users can pass a third template parameter to configure how updates work and whether to do anything beyond updating the map on each action. It's also possible to automatically acquire a lock around ValueMap updates triggered by RAUWs and deletes, to support the ExecutionEngine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84890 91177308-0d34-0410-b5e6-96231b3b80d8
* Hide MetadataContext implementation details.Devang Patel2009-10-225-53/+192
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84886 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix getMDs() interface such that it does not expose implementation details.Devang Patel2009-10-225-26/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84885 91177308-0d34-0410-b5e6-96231b3b80d8
* Using TrackingVH instead of WeakVH or WeakMetadataVH.Devang Patel2009-10-226-44/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84884 91177308-0d34-0410-b5e6-96231b3b80d8
* Sort handler names to ensure deterministic behavior.Devang Patel2009-10-222-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84878 91177308-0d34-0410-b5e6-96231b3b80d8
* Trying again to tweak the top-level Makefile to facilitate an Apple-style build.Stuart Hastings2009-10-223-1/+17
| | | | | | | Now with Clang-compatibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84872 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 84843. Evan, this was breaking some of the if-conversion tests.Bob Wilson2009-10-222-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84868 91177308-0d34-0410-b5e6-96231b3b80d8
* Include config.h in order to have HAVE_STDINT_H be defined.Duncan Sands2009-10-221-0/+1
| | | | | | | | In the latest binutils the plugin-api.h needs this - without it the LLVM gold plugin fails to compile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84861 91177308-0d34-0410-b5e6-96231b3b80d8
* Verify that the function and exception table have been allocatedNicolas Geoffray2009-10-221-2/+2
| | | | | | | | before freeing them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84859 91177308-0d34-0410-b5e6-96231b3b80d8
* Check that accessing a struct field that occurs before the startDuncan Sands2009-10-221-0/+6
| | | | | | | of the struct (!) works correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84853 91177308-0d34-0410-b5e6-96231b3b80d8
* Test handling of record fields with negative offsets.Duncan Sands2009-10-221-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84851 91177308-0d34-0410-b5e6-96231b3b80d8
* Shift art to the right to keep GCC from complaining about multi-line comments.Benjamin Kramer2009-10-221-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84849 91177308-0d34-0410-b5e6-96231b3b80d8
* Move if-conversion before post-regalloc scheduling so the predicated ↵Evan Cheng2009-10-222-6/+5
| | | | | | instruction get scheduled properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84843 91177308-0d34-0410-b5e6-96231b3b80d8
* Load / store multiple was missing opportunites when the load / store bundles ↵Evan Cheng2009-10-221-0/+3
| | | | | | are at the end of the bb. Test case is already in, the bug is exposed by subsequent commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84842 91177308-0d34-0410-b5e6-96231b3b80d8
* move another load optimization from instcombine -> libanalysis.Chris Lattner2009-10-222-46/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84841 91177308-0d34-0410-b5e6-96231b3b80d8
* move 'loading i32 from string' optimization from instcombineChris Lattner2009-10-222-40/+35
| | | | | | | | to libanalysis. Instcombine shrinking... does this even make sense??? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84840 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some constant folding logic for loads out of instcombine intoChris Lattner2009-10-223-42/+57
| | | | | | | | | | | Analysis/ConstantFolding.cpp. This doesn't change the behavior of instcombine but makes other clients of ConstantFoldInstruction able to handle loads. This was partially extracted from Eli's patch in PR3152. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84836 91177308-0d34-0410-b5e6-96231b3b80d8
* Trim more includes.Evan Cheng2009-10-223-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84832 91177308-0d34-0410-b5e6-96231b3b80d8
* Trim include.Evan Cheng2009-10-221-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84831 91177308-0d34-0410-b5e6-96231b3b80d8
* testcase for PR4678 & rdar://7309675Chris Lattner2009-10-222-5/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84830 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot a declaration.Mikhail Glushenkov2009-10-221-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84828 91177308-0d34-0410-b5e6-96231b3b80d8
* Make 'unset_option' work on list options.Mikhail Glushenkov2009-10-221-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84827 91177308-0d34-0410-b5e6-96231b3b80d8
* fix warning.Chris Lattner2009-10-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84826 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix getHandlerNames() interface. Now it populate clinet supplied small ↵Devang Patel2009-10-224-15/+21
| | | | | | vector with handler names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84820 91177308-0d34-0410-b5e6-96231b3b80d8
* 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