1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Commit Graph

29580 Commits

Author SHA1 Message Date
Reid Spencer
00fc9639f4 For PR411:
Change getNamedFunction -> getFunction
Make llvm-extract run the StripDeadPrototypes pass.

llvm-svn: 33921
2007-02-05 21:17:53 +00:00
Reid Spencer
2e281b54c7 For PR411:
Clean up the Module::getFunction interface. getMainFunction and
getNamedFunction are now gone. Just use getFunction instead.

llvm-svn: 33920
2007-02-05 21:17:06 +00:00
Reid Spencer
0e2414dbbe For PR411:
This test is not particularly useful without type planes.

llvm-svn: 33919
2007-02-05 20:59:45 +00:00
Reid Spencer
6af21b3029 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.

llvm-svn: 33918
2007-02-05 20:47:22 +00:00
Reid Spencer
d8c5428a48 For PR411:
This pass is no longer needed.

llvm-svn: 33917
2007-02-05 20:41:05 +00:00
Reid Spencer
4885d68272 Create a pass to strip dead function declarations (prototypes). This is
for use by llvm-extract and bugpoint.

llvm-svn: 33916
2007-02-05 20:24:25 +00:00
Devang Patel
a2287f3205 Fix PR1158
Do not insert Analysis pass, if it is already available.

llvm-svn: 33915
2007-02-05 19:34:17 +00:00
Devang Patel
cfae673742 Test case for PR1158
llvm-svn: 33914
2007-02-05 19:33:20 +00:00
Zhou Sheng
4967eb71b1 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: 33913
2007-02-05 17:29:16 +00:00
Reid Spencer
aabb0ec479 Regenerate.
llvm-svn: 33912
2007-02-05 17:04:00 +00:00
Reid Spencer
c48637fa58 ! removal was a little over zealous. Put the ! back in asserts.
llvm-svn: 33911
2007-02-05 17:01:20 +00:00
Lauro Ramos Venancio
45504fb6b4 Fix unord test.
llvm-svn: 33910
2007-02-05 16:33:56 +00:00
Reid Spencer
28005c25b4 Regenerate.
llvm-svn: 33909
2007-02-05 10:18:06 +00:00
Reid Spencer
9ddf69cdd6 Assembler no longer prints ! at the end of its error messages.
llvm-svn: 33908
2007-02-05 10:17:51 +00:00
Reid Spencer
1479edf229 There is nothing exclamatory about an error message. No other compiler
or assembler uses ! at the end of every message. We shouldn't either.

llvm-svn: 33907
2007-02-05 10:16:10 +00:00
Reid Spencer
c7525207b8 Make the RUN: line readable.
llvm-svn: 33906
2007-02-05 10:09:41 +00:00
Reid Spencer
25f656a559 Don't prevent install target from descending into the utils directory.
It prevents "make install" on a clean directory from working.

llvm-svn: 33905
2007-02-05 09:43:17 +00:00
Chris Lattner
318e23e7fe add a note
llvm-svn: 33904
2007-02-05 06:30:51 +00:00
Reid Spencer
b32cc501f5 Use opt to generate the list of passes to run.
llvm-svn: 33903
2007-02-05 06:10:19 +00:00
Chris Lattner
1441407576 Fix miscompilations of consumer-typeset, telecomm-gsm, and 176.gcc.
llvm-svn: 33902
2007-02-05 05:57:49 +00:00
Reid Spencer
21f40213a8 For PR1177:
Revert last patch which caused iteration invalidation.

llvm-svn: 33901
2007-02-05 05:23:32 +00:00
Chris Lattner
4402e15b4b fix a miscompilation of 176.gcc
llvm-svn: 33900
2007-02-05 04:09:35 +00:00
Reid Spencer
b33f883a96 For PR411:
Don't re-use var names.

llvm-svn: 33899
2007-02-05 04:00:04 +00:00
Chris Lattner
c8c3e824e4 new testcase for 1174, currently xfailed
llvm-svn: 33898
2007-02-05 03:56:59 +00:00
Owen Anderson
0fbb2d629f Use DenseMap for pointer->pointer maps.
llvm-svn: 33897
2007-02-05 02:39:47 +00:00
Bill Wendling
bc1c8e70ac Use unsigned char& instead of std::vector<>::reference.
llvm-svn: 33896
2007-02-05 02:37:07 +00:00
Anton Korobeynikov
6af279f20d Test for PR1173
llvm-svn: 33895
2007-02-05 02:28:56 +00:00
Chris Lattner
bcd1454361 fix bug number
llvm-svn: 33894
2007-02-05 02:26:07 +00:00
Chris Lattner
c61d845960 test for pr1173
llvm-svn: 33893
2007-02-05 02:19:09 +00:00
Chris Lattner
49be595b1f rewrite shift/shift folding, now that types are not signed.
llvm-svn: 33892
2007-02-05 00:57:54 +00:00
Chris Lattner
6384117218 testcase for PR1175
llvm-svn: 33891
2007-02-04 23:55:04 +00:00
Nick Lewycky
7439ef2aba 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.

llvm-svn: 33889
2007-02-04 23:43:05 +00:00
Anton Korobeynikov
a4e7de7c93 Fixing silly "not-implemented" bug in AsmPrinter. This fixes PR1169.
llvm-svn: 33888
2007-02-04 23:27:42 +00:00
Reid Spencer
bf4d68efba 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.

llvm-svn: 33886
2007-02-04 22:12:25 +00:00
Reid Spencer
83e69f0b7f Fix grammaro in output message.
llvm-svn: 33885
2007-02-04 22:08:16 +00:00
Chris Lattner
3e01807e87 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

llvm-svn: 33884
2007-02-04 20:18:17 +00:00
Chris Lattner
4223274f91 new testcase for x86 backend miscompilation
llvm-svn: 33883
2007-02-04 20:15:15 +00:00
Chris Lattner
15fb4ef992 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%).

llvm-svn: 33879
2007-02-04 08:47:20 +00:00
Chris Lattner
59d7c680b5 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%.

llvm-svn: 33878
2007-02-04 08:35:21 +00:00
Chris Lattner
22db3d9fca 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.

llvm-svn: 33877
2007-02-04 08:13:53 +00:00
Chris Lattner
dcdf1edd93 eliminate the SDNode::setValueTypes method.
llvm-svn: 33876
2007-02-04 07:37:24 +00:00
Chris Lattner
2b6734a983 eliminate a bunch of duplicate ctors and helper functions.
llvm-svn: 33875
2007-02-04 07:28:00 +00:00
Reid Spencer
e86b73d7ce Fix some comments and other minor sundry things.
llvm-svn: 33873
2007-02-04 04:43:17 +00:00
Reid Spencer
0759b38041 Ensure that visibility and section are properly propagated.
llvm-svn: 33872
2007-02-04 04:30:33 +00:00
Reid Spencer
080fc7bf3f Back out last revision which was committed by accident.
llvm-svn: 33871
2007-02-04 04:29:21 +00:00
Reid Spencer
8fa4e4be1f Make sure that section and visibility are properly propagated.
llvm-svn: 33870
2007-02-04 04:28:18 +00:00
Chris Lattner
8bbd45cd6e move MorphNode to out of line and merge setNodeOperands into it. There is
no behavior or performance change here.

llvm-svn: 33869
2007-02-04 02:49:29 +00:00
Chris Lattner
ccd1f36346 simplify MorphNodeTo to take a VTList operand.
llvm-svn: 33868
2007-02-04 02:41:42 +00:00
Chris Lattner
7e8b8e7a68 eliminate some extraneous methods in SDNode
llvm-svn: 33867
2007-02-04 02:32:44 +00:00
Chris Lattner
f3b4a0cc95 Give each selectiondag node class a home for it's vtable and rtti info
llvm-svn: 33866
2007-02-04 02:23:32 +00:00