Reid Spencer
960cf7c929
Remove a spurious ;
...
llvm-svn: 33976
2007-02-07 03:29:29 +00:00
Evan Cheng
12cf8ddaea
eliminateFrameIndex() is even more complicated if frame ptr is used instead of SP when there are dynamic alloca's.
...
llvm-svn: 33975
2007-02-07 02:44:23 +00:00
Chris Lattner
430c9217f0
redesign the primary datastructure used by mem2reg to eliminate an
...
std::map of std::vector's (ouch!). This speeds up mem2reg by 10% on 176.gcc.
llvm-svn: 33974
2007-02-07 01:15:04 +00:00
Chris Lattner
e346767f06
do not let the table fill up with tombstones.
...
llvm-svn: 33973
2007-02-07 01:11:25 +00:00
Chris Lattner
df0d5a1836
Fix a really subtle bug where the entire hash table could fill with
...
tombstones, causing subsequent insertions to infinitely loop.
llvm-svn: 33972
2007-02-07 00:55:59 +00:00
Evan Cheng
ec13f826a2
Spill / restore should avoid modifying the condition register.
...
llvm-svn: 33971
2007-02-07 00:06:56 +00:00
Chris Lattner
dc0a9a7b4a
Two fixes:
...
1. Memset takes an i32 for the value to set, not i8. This was causing GCC to
ICE all over the place (PR1183).
2. memcpy/memmove were not properly zext/trunc'ing the size in some cases.
llvm-svn: 33970
2007-02-06 19:06:38 +00:00
Reid Spencer
1f69fe5b73
Document the LINK_COMPONENTS and NO_INSTALL variables.
...
llvm-svn: 33969
2007-02-06 19:00:40 +00:00
Reid Spencer
a79819d8c6
Implement the NO_INSTALL feature. Setting this variable to any value in
...
a directory's Makefile will prevent the build products from that directory
from being installed. This is useful for tools and libraries that are
only useful as part of the build process.
llvm-svn: 33968
2007-02-06 18:53:14 +00:00
Reid Spencer
008e65ff96
Set the new NO_INSTALL flag for build-only tools.
...
llvm-svn: 33967
2007-02-06 18:51:28 +00:00
Jim Laskey
132fb185ee
Error check and eliminate unnecessary value.
...
llvm-svn: 33966
2007-02-06 18:30:58 +00:00
Jim Laskey
207230b984
Regenerate.
...
llvm-svn: 33965
2007-02-06 18:20:07 +00:00
Jim Laskey
a9e7064774
Deemed too cute to live.
...
llvm-svn: 33964
2007-02-06 18:19:44 +00:00
Jim Laskey
f4163f9bbc
Regenerate.
...
llvm-svn: 33963
2007-02-06 18:03:31 +00:00
Jim Laskey
5aed30d5cf
Support var arg intrinsics.
...
llvm-svn: 33962
2007-02-06 18:02:54 +00:00
Lauro Ramos Venancio
0e47295cf0
Fix build error.
...
UniqueVector.h:66: error: âassertâ was not declared in this scope
llvm-svn: 33961
2007-02-06 14:59:28 +00:00
Evan Cheng
a974031ebd
Select add FI, c correctly.
...
llvm-svn: 33960
2007-02-06 09:11:20 +00:00
Evan Cheng
5a165de53c
Add a DYNAMIC_STACKALLOC test case.
...
llvm-svn: 33959
2007-02-06 07:18:27 +00:00
Evan Cheng
ea3308aef0
foldMemoryOperand() cannot fold tMOVrr sp into load / store in thumb mode. tLDRspi / tSTRspi cannot target / store high registers.
...
llvm-svn: 33958
2007-02-06 06:13:29 +00:00
Chris Lattner
1b4b054cba
Fix PR1181 and CodeGen/CBackend/2007-02-05-memset.ll
...
llvm-svn: 33957
2007-02-06 06:07:51 +00:00
Chris Lattner
07e13789e5
testcase for pr1181
...
llvm-svn: 33956
2007-02-06 06:07:34 +00:00
Zhou Sheng
94b623aad4
As Reid suggested, fixed some problems.
...
llvm-svn: 33955
2007-02-06 06:04:53 +00:00
Zhou Sheng
c43c1402ef
As Reid suggested, fixed some problems.
...
llvm-svn: 33954
2007-02-06 05:59:47 +00:00
Chris Lattner
28cbd1d624
Disable this for now.
...
llvm-svn: 33953
2007-02-06 05:38:37 +00:00
Zhou Sheng
dac63788ab
Add a class APInt to represent arbitrary precision constant integral values.
...
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.
llvm-svn: 33951
2007-02-06 03:00:16 +00:00
Chris Lattner
e62c89a9f5
Fix Transforms/ConstProp/2007-02-05-BitCast.ll
...
llvm-svn: 33948
2007-02-06 02:22:56 +00:00
Chris Lattner
ecb38495af
Testcase for miscompilation
...
llvm-svn: 33947
2007-02-06 02:22:37 +00:00
Chris Lattner
89e66e0c26
Oops, swap this. This fixes a regression I introduced in the ARM backend.
...
llvm-svn: 33946
2007-02-06 01:56:31 +00:00
Evan Cheng
2fc792f86b
eliminateFrameIndex() bug when frame pointer is used as base register.
...
llvm-svn: 33945
2007-02-06 00:23:31 +00:00
Evan Cheng
650d0672f7
- Store val, [sp, c] must be selected to tSTRsp.
...
- If c does not fit in the offset field, materialize sp + c into a register
using tADDhirr.
llvm-svn: 33944
2007-02-06 00:22:06 +00:00
Reid Spencer
92b50800f6
Although targets are not required to support integers > 64bits, TargetData
...
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.
llvm-svn: 33943
2007-02-05 23:51:43 +00:00
Reid Spencer
d7a00d7414
A value of 64 or fewer bits is valid if the ConstantInt has more then 64 bits.
...
llvm-svn: 33942
2007-02-05 23:47:56 +00:00
Reid Spencer
f75727ab14
Make classes in anonymous namespaces use VISIBILITY_HIDDEN to help reduce
...
LLVM's footprint and speed up linking.
llvm-svn: 33941
2007-02-05 23:42:17 +00:00
Chris Lattner
c85e79f3e0
With the last change, we no longer need both directions of mapping from
...
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.
llvm-svn: 33940
2007-02-05 23:37:20 +00:00
Reid Spencer
557ab15e71
Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in
...
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.
llvm-svn: 33939
2007-02-05 23:32:05 +00:00
Chris Lattner
52da61fb5c
Simplify use of DFBlocks, this makes no noticable performance difference,
...
but paves the way to eliminate BBNumbers.
llvm-svn: 33938
2007-02-05 23:31:26 +00:00
Reid Spencer
193abd95c9
This file should have been removed when -raise was removed. It isn't
...
used any more.
llvm-svn: 33937
2007-02-05 23:27:02 +00:00
Chris Lattner
de20c42da5
Simplify this a bit, add an assertion
...
llvm-svn: 33936
2007-02-05 23:24:48 +00:00
Chris Lattner
3d5c1e3fa7
StableBasicBlockNumbering is conceptually just a wrapper around UniqueVector,
...
so we should actually use a UniqueVector to implement it.
llvm-svn: 33935
2007-02-05 23:19:24 +00:00
Reid Spencer
99a1e6b6eb
Add a show-footprint target to run du a few times to show how much disk
...
space a build tree's objects are consuming.
llvm-svn: 33934
2007-02-05 23:18:58 +00:00
Chris Lattner
51c0fb9e48
Const method must use const_iterator.
...
llvm-svn: 33933
2007-02-05 23:18:32 +00:00
Chris Lattner
bf67b1229b
Switch InsertedPHINodes back to SmallPtrSet now that the SmallPtrSet::erase
...
bug is fixed.
llvm-svn: 33932
2007-02-05 23:11:37 +00:00
Chris Lattner
92c5d1185f
Fix a bug in smallptrset::erase: in the small case, return true if the
...
element was in the set.
llvm-svn: 33931
2007-02-05 23:10:31 +00:00
Chris Lattner
606dde0093
switch a SmallPtrSet back to an std::set for now, this caused problems.
...
llvm-svn: 33930
2007-02-05 22:28:52 +00:00
Chris Lattner
1ed84bbd2d
switch an std::set over to a SmallPtrSet, speeding up mem2reg 6% on 176.gcc.
...
llvm-svn: 33929
2007-02-05 22:15:21 +00:00
Chris Lattner
70fbb9de4c
switch an std::set over to SmallPtrSet, speeding up mem2reg 3.4% on 176.gcc.
...
llvm-svn: 33928
2007-02-05 22:13:11 +00:00
Chris Lattner
8fbc888d91
eliminate some malloc traffic, this speeds up mem2reg by 3.4%.
...
llvm-svn: 33927
2007-02-05 21:58:48 +00:00
Reid Spencer
ca3bf1ad85
Add missing and needed #include.
...
llvm-svn: 33926
2007-02-05 21:47:39 +00:00
Reid Spencer
35a0718d82
Make the class VISIBILITY_HIDDEN.
...
Reduce lexical size of the anonymous namespace.
llvm-svn: 33925
2007-02-05 21:45:12 +00:00
Chris Lattner
a9428c4f9d
Fix PR1178
...
llvm-svn: 33924
2007-02-05 21:23:52 +00:00