aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a class APInt to represent arbitrary precision constant integral values.Zhou Sheng2007-02-061-0/+1113
| | | | | | | | | | It is a functional replacement for common case integer type like "unsigned", "uint64_t", but also allows non-byte-width integer type and large integer value types such as 3-bits, 15-bits, or more than 64-bits of precision. For more details, see pr1043. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33951 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Transforms/ConstProp/2007-02-05-BitCast.llChris Lattner2007-02-061-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33948 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for miscompilationChris Lattner2007-02-061-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33947 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, swap this. This fixes a regression I introduced in the ARM backend.Chris Lattner2007-02-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33946 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminateFrameIndex() bug when frame pointer is used as base register.Evan Cheng2007-02-061-23/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33945 91177308-0d34-0410-b5e6-96231b3b80d8
* - Store val, [sp, c] must be selected to tSTRsp.Evan Cheng2007-02-061-4/+34
| | | | | | | | - If c does not fit in the offset field, materialize sp + c into a register using tADDhirr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33944 91177308-0d34-0410-b5e6-96231b3b80d8
* Although targets are not required to support integers > 64bits, TargetDataReid Spencer2007-02-051-2/+4
| | | | | | | | | | | | must in order for backends that do want to support large integer types to be able to function. Consequently, don't assert if the bitwidth > 64 bits when computing the size and alignment. Instead, compute the size by rounding up to the next even number of bytes for the size. Compute the alignment as the same as the LongABIAlignment. These provide reasonable defaults that the target can override. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33943 91177308-0d34-0410-b5e6-96231b3b80d8
* A value of 64 or fewer bits is valid if the ConstantInt has more then 64 bits.Reid Spencer2007-02-051-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33942 91177308-0d34-0410-b5e6-96231b3b80d8
* Make classes in anonymous namespaces use VISIBILITY_HIDDEN to help reduceReid Spencer2007-02-0514-19/+38
| | | | | | | LLVM's footprint and speed up linking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33941 91177308-0d34-0410-b5e6-96231b3b80d8
* With the last change, we no longer need both directions of mapping fromChris Lattner2007-02-051-4/+8
| | | | | | | | | BBNumbers. Instead of using a bi-directional mapping, just use a single densemap. This speeds up mem2reg on 176.gcc by 8%, from 1.3489 to 1.2485s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33940 91177308-0d34-0410-b5e6-96231b3b80d8
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-0546-97/+146
| | | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33939 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify use of DFBlocks, this makes no noticable performance difference,Chris Lattner2007-02-051-3/+3
| | | | | | | but paves the way to eliminate BBNumbers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33938 91177308-0d34-0410-b5e6-96231b3b80d8
* This file should have been removed when -raise was removed. It isn'tReid Spencer2007-02-051-134/+0
| | | | | | | used any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33937 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify this a bit, add an assertionChris Lattner2007-02-051-11/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33936 91177308-0d34-0410-b5e6-96231b3b80d8
* StableBasicBlockNumbering is conceptually just a wrapper around UniqueVector,Chris Lattner2007-02-051-22/+11
| | | | | | | so we should actually use a UniqueVector to implement it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33935 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a show-footprint target to run du a few times to show how much diskReid Spencer2007-02-051-0/+6
| | | | | | | space a build tree's objects are consuming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33934 91177308-0d34-0410-b5e6-96231b3b80d8
* Const method must use const_iterator.Chris Lattner2007-02-051-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33933 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch InsertedPHINodes back to SmallPtrSet now that the SmallPtrSet::eraseChris Lattner2007-02-051-6/+6
| | | | | | | bug is fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33932 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in smallptrset::erase: in the small case, return true if theChris Lattner2007-02-051-1/+1
| | | | | | | element was in the set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33931 91177308-0d34-0410-b5e6-96231b3b80d8
* switch a SmallPtrSet back to an std::set for now, this caused problems.Chris Lattner2007-02-051-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33930 91177308-0d34-0410-b5e6-96231b3b80d8
* switch an std::set over to a SmallPtrSet, speeding up mem2reg 6% on 176.gcc.Chris Lattner2007-02-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33929 91177308-0d34-0410-b5e6-96231b3b80d8
* switch an std::set over to SmallPtrSet, speeding up mem2reg 3.4% on 176.gcc.Chris Lattner2007-02-051-16/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33928 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate some malloc traffic, this speeds up mem2reg by 3.4%.Chris Lattner2007-02-051-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33927 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing and needed #include.Reid Spencer2007-02-051-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33926 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the class VISIBILITY_HIDDEN.Reid Spencer2007-02-051-3/+3
| | | | | | | Reduce lexical size of the anonymous namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33925 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1178Chris Lattner2007-02-051-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33924 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-0519-46/+46
| | | | | | | | | Adjust to changes in Module interface: getMainFunction() -> getFunction("main") getNamedFunction(X) -> getFunction(X) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33922 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-051-1/+2
| | | | | | | | Change getNamedFunction -> getFunction Make llvm-extract run the StripDeadPrototypes pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33921 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-051-14/+5
| | | | | | | | Clean up the Module::getFunction interface. getMainFunction and getNamedFunction are now gone. Just use getFunction instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33920 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-051-33/+0
| | | | | | | This test is not particularly useful without type planes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33919 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-0574-2346/+1575
| | | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-051-363/+0
| | | | | | | This pass is no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33917 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a pass to strip dead function declarations (prototypes). This isReid Spencer2007-02-051-0/+61
| | | | | | | for use by llvm-extract and bugpoint. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33916 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1158Devang Patel2007-02-051-0/+5
| | | | | | | Do not insert Analysis pass, if it is already available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33915 91177308-0d34-0410-b5e6-96231b3b80d8
* Test case for PR1158Devang Patel2007-02-051-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33914 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a class APInt to represent arbitrary precision constant integral values.Zhou Sheng2007-02-051-0/+489
| | | | | | | | | | It is a functional replacement for common case integer type like "unsigned", "uint64_t", but also allows non-byte-width integer type and large integer value types such as 3-bits, 15-bits, or more than 64-bits of precision. For more details, see pr1043. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33913 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-02-052-18/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33912 91177308-0d34-0410-b5e6-96231b3b80d8
* ! removal was a little over zealous. Put the ! back in asserts.Reid Spencer2007-02-051-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33911 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix unord test.Lauro Ramos Venancio2007-02-051-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33910 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-02-052-204/+204
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33909 91177308-0d34-0410-b5e6-96231b3b80d8
* Assembler no longer prints ! at the end of its error messages.Reid Spencer2007-02-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33908 91177308-0d34-0410-b5e6-96231b3b80d8
* There is nothing exclamatory about an error message. No other compilerReid Spencer2007-02-051-102/+102
| | | | | | | or assembler uses ! at the end of every message. We shouldn't either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33907 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the RUN: line readable.Reid Spencer2007-02-051-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33906 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't prevent install target from descending into the utils directory.Reid Spencer2007-02-051-7/+0
| | | | | | | It prevents "make install" on a clean directory from working. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33905 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2007-02-051-0/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33904 91177308-0d34-0410-b5e6-96231b3b80d8
* Use opt to generate the list of passes to run.Reid Spencer2007-02-051-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33903 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix miscompilations of consumer-typeset, telecomm-gsm, and 176.gcc.Chris Lattner2007-02-051-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33902 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1177:Reid Spencer2007-02-051-4/+4
| | | | | | | Revert last patch which caused iteration invalidation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33901 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a miscompilation of 176.gccChris Lattner2007-02-051-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33900 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-051-2/+2
| | | | | | | Don't re-use var names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33899 91177308-0d34-0410-b5e6-96231b3b80d8