Commit Graph

29618 Commits

Author SHA1 Message Date
Reid Spencer
ef9b9a7939 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
2007-02-05 20:47:22 +00:00
Reid Spencer
15468bfc22 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
2007-02-05 20:41:05 +00:00
Reid Spencer
c19fbd6ec8 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
2007-02-05 20:24:25 +00:00
Devang Patel
90f1ad7bf4 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
2007-02-05 19:34:17 +00:00
Devang Patel
c8c6928781 Test case for PR1158
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33914 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 19:33:20 +00:00
Zhou Sheng
d0f285e212 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
2007-02-05 17:29:16 +00:00
Reid Spencer
a9720f5051 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33912 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 17:04:00 +00:00
Reid Spencer
1755a9a7b1 ! 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
2007-02-05 17:01:20 +00:00
Lauro Ramos Venancio
ea62b721ea Fix unord test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33910 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 16:33:56 +00:00
Reid Spencer
b5334b0db3 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33909 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 10:18:06 +00:00
Reid Spencer
d2e065c61a 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
2007-02-05 10:17:51 +00:00
Reid Spencer
f4fa590293 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
2007-02-05 10:16:10 +00:00
Reid Spencer
9a01353e73 Make the RUN: line readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33906 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 10:09:41 +00:00
Reid Spencer
11c63a6791 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
2007-02-05 09:43:17 +00:00
Chris Lattner
32d84765c8 add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33904 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 06:30:51 +00:00
Reid Spencer
90a2eb02e5 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
2007-02-05 06:10:19 +00:00
Chris Lattner
b0b991a2c8 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
2007-02-05 05:57:49 +00:00
Reid Spencer
0974ea0911 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
2007-02-05 05:23:32 +00:00
Chris Lattner
4f3ebab172 fix a miscompilation of 176.gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33900 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 04:09:35 +00:00
Reid Spencer
1853da3f22 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
2007-02-05 04:00:04 +00:00
Chris Lattner
1125d241e0 new testcase for 1174, currently xfailed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33898 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 03:56:59 +00:00
Owen Anderson
93235181d6 Use DenseMap for pointer->pointer maps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33897 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 02:39:47 +00:00
Bill Wendling
05c0b9ad79 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
2007-02-05 02:37:07 +00:00
Anton Korobeynikov
8227d886b8 Test for PR1173
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33895 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 02:28:56 +00:00
Chris Lattner
06b59eb161 fix bug number
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33894 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 02:26:07 +00:00
Chris Lattner
464c19e654 test for pr1173
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33893 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 02:19:09 +00:00
Chris Lattner
b87056f111 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
2007-02-05 00:57:54 +00:00
Chris Lattner
3ac8f5b042 testcase for PR1175
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33891 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 23:55:04 +00:00
Nick Lewycky
4535175328 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
2007-02-04 23:43:05 +00:00
Anton Korobeynikov
13b7d3d499 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
2007-02-04 23:27:42 +00:00
Reid Spencer
54100d7370 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
2007-02-04 22:12:25 +00:00
Reid Spencer
d7fc4f6f7e Fix grammaro in output message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33885 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 22:08:16 +00:00
Chris Lattner
6241226b09 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
2007-02-04 20:18:17 +00:00
Chris Lattner
2b5d75c35b new testcase for x86 backend miscompilation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33883 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 20:15:15 +00:00
Chris Lattner
831e0374a7 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
2007-02-04 08:47:20 +00:00
Chris Lattner
3f97eb449b 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
2007-02-04 08:35:21 +00:00
Chris Lattner
bc2e26241d 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
2007-02-04 08:13:53 +00:00
Chris Lattner
ab4ed59538 eliminate the SDNode::setValueTypes method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33876 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 07:37:24 +00:00
Chris Lattner
63e3f14df6 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
2007-02-04 07:28:00 +00:00
Reid Spencer
619f024cc3 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
2007-02-04 04:43:17 +00:00
Reid Spencer
471feac1b2 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
2007-02-04 04:30:33 +00:00
Reid Spencer
8bef0373f1 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
2007-02-04 04:29:21 +00:00
Reid Spencer
3dad8dc367 Make sure that section and visibility are properly propagated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33870 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 04:28:18 +00:00
Chris Lattner
d429bcd4ac move MorphNode to out of line and merge setNodeOperands into it. There is
no behavior or performance change here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33869 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 02:49:29 +00:00
Chris Lattner
48b8592652 simplify MorphNodeTo to take a VTList operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33868 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 02:41:42 +00:00
Chris Lattner
67612a1188 eliminate some extraneous methods in SDNode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33867 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 02:32:44 +00:00
Chris Lattner
c76e3c8602 Give each selectiondag node class a home for it's vtable and rtti info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33866 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 02:23:32 +00:00
Reid Spencer
73a7d89468 Prepare for PR411
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33865 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 02:11:13 +00:00
Chris Lattner
e4116f8553 Encode small integers more densely in foldingset, avoiding overflowing the SmallVector as often.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33864 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 01:48:10 +00:00
Chris Lattner
9f24ad79ce Switch VAlueMap from std::map to DenseMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33863 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 01:35:11 +00:00