Chris Lattner [Wed, 7 Feb 2007 05:15:28 +0000 (05:15 +0000)]
parse constantexpr arguments into a smallvector: 1.5% speedup reading 176.gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33980
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Feb 2007 05:09:50 +0000 (05:09 +0000)]
eliminate std::vector's from the bchandler interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33979
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Feb 2007 05:08:39 +0000 (05:08 +0000)]
Eliminate std::vectors from the bcanalyzer interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33978
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Feb 2007 04:39:35 +0000 (04:39 +0000)]
add an option for timing bc file reading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33977
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 7 Feb 2007 03:29:29 +0000 (03:29 +0000)]
Remove a spurious ;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33976
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Feb 2007 02:44:23 +0000 (02:44 +0000)]
eliminateFrameIndex() is even more complicated if frame ptr is used instead of SP when there are dynamic alloca's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33975
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Feb 2007 01:15:04 +0000 (01:15 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33974
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Feb 2007 01:11:25 +0000 (01:11 +0000)]
do not let the table fill up with tombstones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33973
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Feb 2007 00:55:59 +0000 (00:55 +0000)]
Fix a really subtle bug where the entire hash table could fill with
tombstones, causing subsequent insertions to infinitely loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33972
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Feb 2007 00:06:56 +0000 (00:06 +0000)]
Spill / restore should avoid modifying the condition register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33971
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Feb 2007 19:06:38 +0000 (19:06 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33970
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 6 Feb 2007 19:00:40 +0000 (19:00 +0000)]
Document the LINK_COMPONENTS and NO_INSTALL variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33969
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 6 Feb 2007 18:53:14 +0000 (18:53 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33968
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 6 Feb 2007 18:51:28 +0000 (18:51 +0000)]
Set the new NO_INSTALL flag for build-only tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33967
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 6 Feb 2007 18:30:58 +0000 (18:30 +0000)]
Error check and eliminate unnecessary value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33966
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 6 Feb 2007 18:20:07 +0000 (18:20 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33965
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 6 Feb 2007 18:19:44 +0000 (18:19 +0000)]
Deemed too cute to live.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33964
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 6 Feb 2007 18:03:31 +0000 (18:03 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33963
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 6 Feb 2007 18:02:54 +0000 (18:02 +0000)]
Support var arg intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33962
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Tue, 6 Feb 2007 14:59:28 +0000 (14:59 +0000)]
Fix build error.
UniqueVector.h:66: error: â
\80\98assertâ
\80\99 was not declared in this scope
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33961
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 Feb 2007 09:11:20 +0000 (09:11 +0000)]
Select add FI, c correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33960
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 Feb 2007 07:18:27 +0000 (07:18 +0000)]
Add a DYNAMIC_STACKALLOC test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33959
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 Feb 2007 06:13:29 +0000 (06:13 +0000)]
foldMemoryOperand() cannot fold tMOVrr sp into load / store in thumb mode. tLDRspi / tSTRspi cannot target / store high registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33958
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Feb 2007 06:07:51 +0000 (06:07 +0000)]
Fix PR1181 and CodeGen/CBackend/2007-02-05-memset.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33957
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Feb 2007 06:07:34 +0000 (06:07 +0000)]
testcase for pr1181
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33956
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Tue, 6 Feb 2007 06:04:53 +0000 (06:04 +0000)]
As Reid suggested, fixed some problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33955
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Tue, 6 Feb 2007 05:59:47 +0000 (05:59 +0000)]
As Reid suggested, fixed some problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33954
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Feb 2007 05:38:37 +0000 (05:38 +0000)]
Disable this for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33953
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Tue, 6 Feb 2007 03:00:16 +0000 (03:00 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33951
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Feb 2007 02:22:56 +0000 (02:22 +0000)]
Fix Transforms/ConstProp/2007-02-05-BitCast.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33948
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Feb 2007 02:22:37 +0000 (02:22 +0000)]
Testcase for miscompilation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33947
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Feb 2007 01:56:31 +0000 (01:56 +0000)]
Oops, swap this. This fixes a regression I introduced in the ARM backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33946
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 Feb 2007 00:23:31 +0000 (00:23 +0000)]
eliminateFrameIndex() bug when frame pointer is used as base register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33945
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 Feb 2007 00:22:06 +0000 (00:22 +0000)]
- 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33944
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 23:51:43 +0000 (23:51 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33943
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 23:47:56 +0000 (23:47 +0000)]
A value of 64 or fewer bits is valid if the ConstantInt has more then 64 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33942
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 23:42:17 +0000 (23:42 +0000)]
Make classes in anonymous namespaces use VISIBILITY_HIDDEN to help reduce
LLVM's footprint and speed up linking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33941
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 23:37:20 +0000 (23:37 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33940
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 23:32:05 +0000 (23:32 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33939
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 23:31:26 +0000 (23:31 +0000)]
Simplify use of DFBlocks, this makes no noticable performance difference,
but paves the way to eliminate BBNumbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33938
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 23:27:02 +0000 (23:27 +0000)]
This file should have been removed when -raise was removed. It isn't
used any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 23:24:48 +0000 (23:24 +0000)]
Simplify this a bit, add an assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 23:19:24 +0000 (23:19 +0000)]
StableBasicBlockNumbering is conceptually just a wrapper around UniqueVector,
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
Reid Spencer [Mon, 5 Feb 2007 23:18:58 +0000 (23:18 +0000)]
Add a show-footprint target to run du a few times to show how much disk
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
Chris Lattner [Mon, 5 Feb 2007 23:18:32 +0000 (23:18 +0000)]
Const method must use const_iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 23:11:37 +0000 (23:11 +0000)]
Switch InsertedPHINodes back to SmallPtrSet now that the SmallPtrSet::erase
bug is fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33932
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 23:10:31 +0000 (23:10 +0000)]
Fix a bug in smallptrset::erase: in the small case, return true if the
element was in the set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33931
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 22:28:52 +0000 (22:28 +0000)]
switch a SmallPtrSet back to an std::set for now, this caused problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33930
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 22:15:21 +0000 (22:15 +0000)]
switch an std::set over to a SmallPtrSet, speeding up mem2reg 6% on 176.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33929
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 22:13:11 +0000 (22:13 +0000)]
switch an std::set over to SmallPtrSet, speeding up mem2reg 3.4% on 176.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33928
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 21:58:48 +0000 (21:58 +0000)]
eliminate some malloc traffic, this speeds up mem2reg by 3.4%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33927
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 21:47:39 +0000 (21:47 +0000)]
Add missing and needed #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33926
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 21:45:12 +0000 (21:45 +0000)]
Make the class VISIBILITY_HIDDEN.
Reduce lexical size of the anonymous namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33925
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 21:23:52 +0000 (21:23 +0000)]
Fix PR1178
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33924
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 21:19:13 +0000 (21:19 +0000)]
For PR411:
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
Reid Spencer [Mon, 5 Feb 2007 21:17:53 +0000 (21:17 +0000)]
For PR411:
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
Reid Spencer [Mon, 5 Feb 2007 21:17:06 +0000 (21:17 +0000)]
For PR411:
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
Reid Spencer [Mon, 5 Feb 2007 20:59:45 +0000 (20:59 +0000)]
For PR411:
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
Reid Spencer [Mon, 5 Feb 2007 20:47:22 +0000 (20:47 +0000)]
For PR411:
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
Reid Spencer [Mon, 5 Feb 2007 20:41:05 +0000 (20:41 +0000)]
For PR411:
This pass is no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33917
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 20:24:25 +0000 (20:24 +0000)]
Create a pass to strip dead function declarations (prototypes). This is
for use by llvm-extract and bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33916
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Feb 2007 19:34:17 +0000 (19:34 +0000)]
Fix PR1158
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
Devang Patel [Mon, 5 Feb 2007 19:33:20 +0000 (19:33 +0000)]
Test case for PR1158
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33914
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Mon, 5 Feb 2007 17:29:16 +0000 (17:29 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33913
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 17:04:00 +0000 (17:04 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33912
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 17:01:20 +0000 (17:01 +0000)]
! removal was a little over zealous. Put the ! back in asserts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33911
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Mon, 5 Feb 2007 16:33:56 +0000 (16:33 +0000)]
Fix unord test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33910
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 10:18:06 +0000 (10:18 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33909
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 10:17:51 +0000 (10:17 +0000)]
Assembler no longer prints ! at the end of its error messages.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33908
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 10:16:10 +0000 (10:16 +0000)]
There is nothing exclamatory about an error message. No other compiler
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
Reid Spencer [Mon, 5 Feb 2007 10:09:41 +0000 (10:09 +0000)]
Make the RUN: line readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33906
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 09:43:17 +0000 (09:43 +0000)]
Don't prevent install target from descending into the utils directory.
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
Chris Lattner [Mon, 5 Feb 2007 06:30:51 +0000 (06:30 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33904
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 06:10:19 +0000 (06:10 +0000)]
Use opt to generate the list of passes to run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33903
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 05:57:49 +0000 (05:57 +0000)]
Fix miscompilations of consumer-typeset, telecomm-gsm, and 176.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33902
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 05:23:32 +0000 (05:23 +0000)]
For PR1177:
Revert last patch which caused iteration invalidation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33901
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 04:09:35 +0000 (04:09 +0000)]
fix a miscompilation of 176.gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33900
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 5 Feb 2007 04:00:04 +0000 (04:00 +0000)]
For PR411:
Don't re-use var names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 03:56:59 +0000 (03:56 +0000)]
new testcase for 1174, currently xfailed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33898
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 5 Feb 2007 02:39:47 +0000 (02:39 +0000)]
Use DenseMap for pointer->pointer maps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33897
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 5 Feb 2007 02:37:07 +0000 (02:37 +0000)]
Use unsigned char& instead of std::vector<>::reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33896
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Mon, 5 Feb 2007 02:28:56 +0000 (02:28 +0000)]
Test for PR1173
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 02:26:07 +0000 (02:26 +0000)]
fix bug number
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33894
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 02:19:09 +0000 (02:19 +0000)]
test for pr1173
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33893
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Feb 2007 00:57:54 +0000 (00:57 +0000)]
rewrite shift/shift folding, now that types are not signed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33892
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 Feb 2007 23:55:04 +0000 (23:55 +0000)]
testcase for PR1175
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33891
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 4 Feb 2007 23:43:05 +0000 (23:43 +0000)]
Fix indenting, remove tabs.
Learn from sext and zext. The destination value falls within the range of the
source type.
Generalize properties regarding constant ints.
Get smarter about marking blocks as unreachable. If 1 >= 2 in order for this
block to execute, then it isn't reachable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33889
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 4 Feb 2007 23:27:42 +0000 (23:27 +0000)]
Fixing silly "not-implemented" bug in AsmPrinter. This fixes PR1169.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33888
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 4 Feb 2007 22:12:25 +0000 (22:12 +0000)]
When using LINK_COMPONENTS, append the components to the end of the
libraries linked with. This permits a project to still use USEDLIBS to
specify its own libraries in conjunction with LINK_COMPONENTS. llvm-stacker
needs this after libLLVMTransforms.a went away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33886
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 4 Feb 2007 22:08:16 +0000 (22:08 +0000)]
Fix grammaro in output message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 Feb 2007 20:18:17 +0000 (20:18 +0000)]
Fix a miscompilation in the addr mode code trying to implement X | C and
X + C to promote LEA formation. We would incorrectly apply it in some cases
(test) and miss it in others.
This fixes CodeGen/X86/2007-02-04-OrAddrMode.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 Feb 2007 20:15:15 +0000 (20:15 +0000)]
new testcase for x86 backend miscompilation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 Feb 2007 08:47:20 +0000 (08:47 +0000)]
switch the VRBaseMap in the scheduler from an std::map to a DenseMap. This
speeds up the isel pass from 2.5570s to 2.4722s on kc++ (3.4%).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33879
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 Feb 2007 08:35:21 +0000 (08:35 +0000)]
Introduce new UnarySDNode/BinarySDNode/TernarySDNode nodes, which coallocate
their operands with the node itself. This reduces malloc traffic for operand
lists. This reduces isel time on kc++ from 2.6164 to 2.5570s, about 2.3%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 Feb 2007 08:13:53 +0000 (08:13 +0000)]
Add a new SDNode ctor and InitOperands method. This allows the operands for
an SDNode to be allocated as part of the node itself, instead of being a
separate new[]'d object. Switch HandleSDNode, LoadSDNode, and StoreSDNode
to use this mechanism. This saves one heap allocation and free for each node
of this type that is allocated. This reduces isel time from 2.7638 to 2.6164s
on kc++, which is a 5.6% speedup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33877
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 Feb 2007 07:37:24 +0000 (07:37 +0000)]
eliminate the SDNode::setValueTypes method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 Feb 2007 07:28:00 +0000 (07:28 +0000)]
eliminate a bunch of duplicate ctors and helper functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33875
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 4 Feb 2007 04:43:17 +0000 (04:43 +0000)]
Fix some comments and other minor sundry things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33873
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 4 Feb 2007 04:30:33 +0000 (04:30 +0000)]
Ensure that visibility and section are properly propagated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33872
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 4 Feb 2007 04:29:21 +0000 (04:29 +0000)]
Back out last revision which was committed by accident.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33871
91177308-0d34-0410-b5e6-
96231b3b80d8