aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Much improved pic jumptable codegen:Evan Cheng2007-11-0912-27/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Then: call "L1$pb" "L1$pb": popl %eax ... LBB1_1: # entry imull $4, %ecx, %ecx leal LJTI1_0-"L1$pb"(%eax), %edx addl LJTI1_0-"L1$pb"(%ecx,%eax), %edx jmpl *%edx .align 2 .set L1_0_set_3,LBB1_3-LJTI1_0 .set L1_0_set_2,LBB1_2-LJTI1_0 .set L1_0_set_5,LBB1_5-LJTI1_0 .set L1_0_set_4,LBB1_4-LJTI1_0 LJTI1_0: .long L1_0_set_3 .long L1_0_set_2 Now: call "L1$pb" "L1$pb": popl %eax ... LBB1_1: # entry addl LJTI1_0-"L1$pb"(%eax,%ecx,4), %eax jmpl *%eax .align 2 .set L1_0_set_3,LBB1_3-"L1$pb" .set L1_0_set_2,LBB1_2-"L1$pb" .set L1_0_set_5,LBB1_5-"L1$pb" .set L1_0_set_4,LBB1_4-"L1$pb" LJTI1_0: .long L1_0_set_3 .long L1_0_set_2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43924 91177308-0d34-0410-b5e6-96231b3b80d8
* Didn't mean to check these in.Evan Cheng2007-11-092-14/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43923 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix. Passive nodes are not in SUnitMap.Evan Cheng2007-11-093-14/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43922 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding some recently added files to the VStudio projectsChuck Rose III2007-11-092-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43919 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite Dwarf number handling per review comments.Dale Johannesen2007-11-092-155/+206
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43918 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated Deserializer class to provide more information about the currentTed Kremenek2007-11-092-52/+111
| | | | | | | | | | block that is being visited in the bitstream. The client can also now skip blocks before reading them, and query the current abbreviation number as seen from the perspective of the Deserializer. This allows the client to be more interactive in the deserialization process (if they so choose). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43916 91177308-0d34-0410-b5e6-96231b3b80d8
* Run this test only on darwin.Devang Patel2007-11-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43912 91177308-0d34-0410-b5e6-96231b3b80d8
* This preserves critical edge breaking.Owen Anderson2007-11-081-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43911 91177308-0d34-0410-b5e6-96231b3b80d8
* Make BreakCriticalMachineEdges available as a pass that can be depended on.Owen Anderson2007-11-082-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43910 91177308-0d34-0410-b5e6-96231b3b80d8
* Added typedef "SerializedPtrID" to represent the pointer handle written to diskTed Kremenek2007-11-085-26/+84
| | | | | | | | | | | | instead of just using "unsigned". This gives us more flexibility in changing the definition of the handle later, and is more self-documenting. Added tracking of block stack in the Deserializer. Now clients can query if they are still within a block using the methods GetCurrentBlockLocation() and FinishedBlock(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43903 91177308-0d34-0410-b5e6-96231b3b80d8
* Better checkAndrew Lenharth2007-11-082-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43897 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1780Andrew Lenharth2007-11-082-1/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43893 91177308-0d34-0410-b5e6-96231b3b80d8
* [ARM] Implement __builtin_thread_pointer.Lauro Ramos Venancio2007-11-084-1/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43892 91177308-0d34-0410-b5e6-96231b3b80d8
* If both parts of smul_lohi, etc. are used, don't simplify. If only one part ↵Evan Cheng2007-11-082-30/+160
| | | | | | is used, try simplify it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43888 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the majority of machine-level critical edge breaking pass. Most of this ↵Owen Anderson2007-11-081-0/+131
| | | | | | | | | was written by Fernando, cleanup and updating to TOT by me. This still needs a bit of work, particularly to handle jump tables properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43885 91177308-0d34-0410-b5e6-96231b3b80d8
* Take another stab at getting isLiveIn() and isLiveOut() right.Owen Anderson2007-11-081-8/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43869 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix MachineDominators' getAnalysisUsage.Owen Anderson2007-11-081-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43868 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, forgot to commit this file.Owen Anderson2007-11-081-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43867 91177308-0d34-0410-b5e6-96231b3b80d8
* Bring UsedBlocks back. StrongPHIElimination needs this information.Owen Anderson2007-11-083-1/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43866 91177308-0d34-0410-b5e6-96231b3b80d8
* Revised BatchEmitOwnedPtrs to work better with constant pointers.Ted Kremenek2007-11-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43861 91177308-0d34-0410-b5e6-96231b3b80d8
* Revised implementation of BatchReadOwnedPtrs() that deserializes anTed Kremenek2007-11-081-10/+13
| | | | | | | | | | array of pointers to not allocate a second array to contain the pointer ids. Fixed bug in the same member function where deserialized pointers were not being registered with the backpatcher. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43855 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed bug where we did not properly serialize owned objects due to a missingTed Kremenek2007-11-071-1/+1
| | | | | | | dereference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43853 91177308-0d34-0410-b5e6-96231b3b80d8
* Added version of BatchEmitOwnedPtrs and BatchReadOwnedPtrs that emits/readsTed Kremenek2007-11-072-0/+21
| | | | | | | an array of pointers of the same type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43852 91177308-0d34-0410-b5e6-96231b3b80d8
* Added methods to batch emit and deserialize owned pointers. This allowsTed Kremenek2007-11-072-4/+67
| | | | | | | | to group the pointer IDs together in the bitstream before their referenced contents (which will lend itself to more efficient encoding). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43845 91177308-0d34-0410-b5e6-96231b3b80d8
* Complete conditionalization of Dwarf reg numbers.Dale Johannesen2007-11-072-41/+86
| | | | | | | | | | Would somebody not on Darwin please make sure this doesn't break anything. Exception handling failures would be the most likely symptom. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43844 91177308-0d34-0410-b5e6-96231b3b80d8
* Add testcaseBill Wendling2007-11-071-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43839 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated VC++ build systemHartmut Kaiser2007-11-0729-55/+59
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43837 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed compilation errors on VC++.Hartmut Kaiser2007-11-071-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43836 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented generic serialization of APFloat.Ted Kremenek2007-11-073-0/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43829 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented serialization of signed integers.Ted Kremenek2007-11-075-2/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43828 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify my (il)logic.Evan Cheng2007-11-071-11/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43819 91177308-0d34-0410-b5e6-96231b3b80d8
* minor editChris Lattner2007-11-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43813 91177308-0d34-0410-b5e6-96231b3b80d8
* final edits.Chris Lattner2007-11-071-12/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43812 91177308-0d34-0410-b5e6-96231b3b80d8
* chapter 7 editsChris Lattner2007-11-071-9/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43811 91177308-0d34-0410-b5e6-96231b3b80d8
* edits for chapter 7Chris Lattner2007-11-071-15/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43810 91177308-0d34-0410-b5e6-96231b3b80d8
* edits for chapter 5Chris Lattner2007-11-071-12/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43808 91177308-0d34-0410-b5e6-96231b3b80d8
* minor editsChris Lattner2007-11-071-25/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43807 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some more of StrongPHIElim.Owen Anderson2007-11-071-12/+74
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43805 91177308-0d34-0410-b5e6-96231b3b80d8
* edits.Chris Lattner2007-11-071-26/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43804 91177308-0d34-0410-b5e6-96231b3b80d8
* Added special version of ReadPtr() that returns a deserialized pointerTed Kremenek2007-11-071-1/+4
| | | | | | | | by value. This version prohibits backpatching of pointers, so it useful when a pointee is always known to be deserialized beforehand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43799 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed default ctor for APInt to properly initialize BitWidth to aTed Kremenek2007-11-071-1/+1
| | | | | | | non-random value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43795 91177308-0d34-0410-b5e6-96231b3b80d8
* Interchange Dwarf numbers of ESP and EBP on x86 Darwin.Dale Johannesen2007-11-073-1/+21
| | | | | | | Much improvement in exception handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43794 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the XTARGET feature for PR1778Tanya Lattner2007-11-061-4/+31
| | | | | | | This will mark a test as PASS for all targets specified. It will override whatever is in XFAIL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43788 91177308-0d34-0410-b5e6-96231b3b80d8
* Serializer no longer automatically emits a root-level block in the bitstream.Ted Kremenek2007-11-062-8/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43784 91177308-0d34-0410-b5e6-96231b3b80d8
* Augmented ReadPtr and ReadOwnedPtr to control whether or not a pointer is ↵Ted Kremenek2007-11-062-10/+16
| | | | | | | | | allowed to be backpatched or can be registered with the deserializer to backpatch other pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43783 91177308-0d34-0410-b5e6-96231b3b80d8
* make smallptrset more const and type correct, which caught a fewChris Lattner2007-11-062-15/+30
| | | | | | | minor bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43782 91177308-0d34-0410-b5e6-96231b3b80d8
* Remainder operations must be either integer or floating-point.Dan Gohman2007-11-061-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43781 91177308-0d34-0410-b5e6-96231b3b80d8
* fix const correctness, BB is const, so its predecessors are tooChris Lattner2007-11-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43780 91177308-0d34-0410-b5e6-96231b3b80d8
* don't put erase or query for non-allocainst pointers in an set of allocainsts*'sChris Lattner2007-11-061-3/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43779 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement PR1777 by detecting dependent phis thatChris Lattner2007-11-062-0/+93
| | | | | | | all compute the same value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43777 91177308-0d34-0410-b5e6-96231b3b80d8