Chris Lattner
5d5a714b24
Implement == and != correctly. Before they would incorrectly return !=
...
for some constant exprs when they could really be the same value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10058 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17 20:19:35 +00:00
Chris Lattner
48babfa60d
The ConstantPointer class is now gone.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10057 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17 19:47:21 +00:00
Chris Lattner
a83a6e4276
No REALLY, get rid of ConstantPointer references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10054 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17 19:21:04 +00:00
Chris Lattner
cf09f51bb9
Eliminate use of the ConstantPointer class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10053 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17 19:19:32 +00:00
Chris Lattner
0dc396909e
Constant folding shalt not be built on annotations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10052 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17 19:05:17 +00:00
Chris Lattner
41495a21f9
Be a bit more tolerant of broken code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10050 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-17 01:17:04 +00:00
Brian Gaeke
cd4a398c25
When you hand WriteAsOperand a type, it now prints out its symbolic name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10042 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 23:08:27 +00:00
Brian Gaeke
9cebe2d83b
When failing a Verifier assertion, use WriteAsOperand to print out the
...
offending types and/or values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10041 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 23:07:42 +00:00
Chris Lattner
40efcec8e8
Don't print 'No predecessors!' on the entry block
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10038 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 22:59:57 +00:00
Chris Lattner
8b70b78ba4
Fixes for PR114: Thanks to Reid Spencer!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10029 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 20:21:15 +00:00
Chris Lattner
5158aaf20e
Expose the verifier to opt
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9984 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13 19:47:29 +00:00
Chris Lattner
579de71d08
Detect problems with PHI node operands!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9916 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-12 07:13:37 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
Chris Lattner
d5b1245e8c
Fix PR95. I'm checking this patch in for Reid Spencer, who figured it out
...
and wrote it up. Thanks!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9832 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-09 19:39:48 +00:00
Chris Lattner
54baafd286
Add an assertion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9831 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-09 15:51:07 +00:00
Chris Lattner
d981f8af79
Further fixes for PR93
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9738 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 20:37:01 +00:00
Chris Lattner
29e3b2ba77
Add support for constant expr shifts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9735 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 19:53:03 +00:00
Chris Lattner
c4856f37f0
If we're not checking, don't check!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 19:09:40 +00:00
Chris Lattner
e860e0d69c
Make code gcc 3.4 clean
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9719 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 05:15:42 +00:00
Chris Lattner
d5e4918fa7
Fix spello
...
Add negate overload
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9709 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-04 23:37:40 +00:00
John Criswell
700867bb69
Checking in Chris's suggestions:
...
Added assert() to ensure symbol table is well formed.
Added code to remember the value that was found; resolving types can change
the symbol table and invalidate the value of the iterator.
Added comments to the ResolveTypes() function (mainly for my own benefit).
Please feel free to correct the comments if they are not accurate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9693 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-04 15:22:26 +00:00
Chris Lattner
5bc3e31c54
Fix InstCombine/2003-11-03-VarargsCallBug.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9681 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-03 18:44:58 +00:00
Chris Lattner
bc539434c5
Did I mention that I _HATE_ CPRs?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9639 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 18:38:06 +00:00
Chris Lattner
b10bed8a63
Constant pointer refs are causing these to fail unnecessarily, which is causing
...
a lot of code to be pessimized. I hate CPRs. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9635 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 17:51:16 +00:00
Alkis Evlogimenos
088eb45cf4
Use already existing classes for post order iterator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9629 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 03:02:34 +00:00
Chris Lattner
95e5a2cc3f
Make use of the new AssemblyAnnotationWriter interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9619 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30 23:41:03 +00:00
Alkis Evlogimenos
74fa84fcef
Output types in reverse postorder. This will allow the ByteCode/Reader
...
to create the minimum number of opaque types for each type with a
cycle in its type graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9615 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30 21:04:44 +00:00
Chris Lattner
88c1738064
Print the names of more opaque types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9598 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30 00:22:33 +00:00
Chris Lattner
daf2a492a7
Make sure to print opaque types names if they are available.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9597 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30 00:12:51 +00:00
Alkis Evlogimenos
5d1bdcd6f6
Add more debugging info to help tracing the SlotCalculator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9575 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29 03:12:12 +00:00
Chris Lattner
35956558e2
Fix test: Linker/2003-10-27-LinkOncePromote.ll
...
Fix PR58
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9530 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-27 16:39:39 +00:00
Chris Lattner
653de272c2
Fix bug: instcombine/2003-10-23-InstcombineNullFail.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9403 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 05:21:48 +00:00
Chris Lattner
aeb18ce9c0
Fix bug: Linker/2003-10-21-ConflictingTypesTolerance.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9357 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 22:46:38 +00:00
Chris Lattner
f85770c9a6
Fix message to make more sense and confuse Chris less
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9354 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 21:52:20 +00:00
Chris Lattner
2765c41c98
Make sure to add a type for va_next operands, which may not other wise
...
occur in the module
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9336 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 17:40:54 +00:00
Chris Lattner
389dbfbd8b
Fix problem which effected linking apache
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9335 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 17:39:59 +00:00
John Criswell
856ba76200
Added LLVM copyright header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 15:17:13 +00:00
John Criswell
e488e9360b
Added LLVM copyright notice to Makefiles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9312 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 22:26:57 +00:00
John Criswell
6fbcc26f14
Added LLVM copyright header (for lack of a better term).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
John Criswell
b576c94c15
Added LLVM project notice to the top of every C++ source file.
...
Header files will be on the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 19:43:21 +00:00
Chris Lattner
ce439b539f
"Function"[0] == 'F', not 'M'
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9297 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 19:10:06 +00:00
Chris Lattner
3b237fcd38
Change the Opcode enum for PHI nodes from "Instruction::PHINode" to "Instruction::PHI" to be more consistent with the other instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9269 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:34:28 +00:00
Chris Lattner
4d45bd007d
Add support for the new varargs intrinsics and instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9226 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 05:57:43 +00:00
Misha Brukman
c51aeaf059
Chris says it's better to assert that TheModule is valid than silently return 0.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9212 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 21:59:57 +00:00
Misha Brukman
7f3df4150c
Return the Module that we just materialized.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9201 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 18:27:13 +00:00
Alkis Evlogimenos
60596382aa
Eliminate some extraneous code in SlotCalculator::insertVal().
...
Rename SlotCalculator::getValSlot() to SlotCalculator::getSlot(),
SlotCalculator::insertValue() to SlotCalculator::getOrCreateSlot(),
SlotCalculator::insertVal() to SlotCalculator::insertValue(), and
SlotCalculator::doInsertVal() to SlotCalculator::doInsertValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 02:02:40 +00:00
Chris Lattner
72ac148d49
Add support for 'weak' linkage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9171 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:29:00 +00:00
Chris Lattner
c3cc71abbc
Completely rewrite support for the Value::use_* list. Now, all operations on
...
this list (except use_size()) are constant time. Before the killUse method
(used whenever something stopped using a value) was linear time, and thus
very very slow for large programs.
This speeds GCCAS up _substantially_ on large programs: almost 2x for 176.gcc:
176.gcc: 77.07s -> 37.38s
177.mesa: 7.59s -> 5.57s
252.eon: 21.02s -> 19.52s (*)
253.perlbmk: 11.40s -> 13.05s
254.gap: 7.25s -> 7.42s
252.eon would speed up a whole lot more, but optimization time is being
dominated by the inlining pass, which needs to be fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9160 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 16:53:07 +00:00
Misha Brukman
69c856aa6d
Enabling incremental bytecode loading in the JIT:
...
* FunctionPassManager ctor now takes in a ModuleProvider
* run() materializes function before running passes on it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9126 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:38:42 +00:00
Chris Lattner
cb18d181d1
Stop using "reverse depth first" order
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9081 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-13 15:21:58 +00:00