Chris Lattner
40b6555561
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
2007-02-05 21:58:48 +00:00
Reid Spencer
7ea07659a1
Add missing and needed #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33926 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 21:47:39 +00:00
Reid Spencer
9153a6729f
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
2007-02-05 21:45:12 +00:00
Chris Lattner
b6a24bfa95
Fix PR1178
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33924 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 21:23:52 +00:00
Reid Spencer
688b0490e2
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
2007-02-05 21:19:13 +00:00
Reid Spencer
cdedc3b336
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
2007-02-05 21:17:53 +00:00
Reid Spencer
60ea274c70
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
2007-02-05 21:17:06 +00:00
Reid Spencer
94b836a0dc
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
2007-02-05 20:59:45 +00:00
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