Chris Lattner
ca4f6ebefc
Allow machine operands to represent global variables with offsets. This is
...
useful when you have a reference like:
int A[100];
void foo() { A[10] = 1; }
In this case, &A[10] is a single constant and should be treated as such.
Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no
other operand type is.
This is another fine patch contributed by Jeff Cohen!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17007 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-15 04:38:41 +00:00
Misha Brukman
ee3d2c8bc8
Convert tabs to spaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16988 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 18:47:56 +00:00
Chris Lattner
5fb00c5893
Make sure any client of Dominators.h links in Dominators.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16986 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 15:46:59 +00:00
Chris Lattner
15f47878e4
Remove unneeded typedef, patch by Morten Ofstad
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16984 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 14:51:09 +00:00
Chris Lattner
fbb719c7f0
Use explicit std:: qualification to avoid relying on Koenig lookup, which
...
VC++ does not do properly. Thanks to Morten Ofstad for the patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16955 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 15:11:23 +00:00
Chris Lattner
c87b1db927
Get rid of template templates that were preventing VC from compiling the
...
set_intersect template. Thanks to Morten Ofstad and Jeff Cohen for the
patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16954 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 15:09:21 +00:00
Chris Lattner
86e100bd9b
Update doco, make doxygen more, use standard dividers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16948 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 04:44:53 +00:00
Misha Brukman
c2ab5a2a63
Fix file comment header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16942 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 21:48:02 +00:00
Misha Brukman
481d56c5de
On second thought, OpaqueType is not really a good first-class type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16941 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 20:35:04 +00:00
Chris Lattner
e004fd005d
Add comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16937 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 17:08:44 +00:00
Misha Brukman
207f2d4056
Opaque types are considered to be first-class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16936 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 17:06:17 +00:00
Chris Lattner
5c3734e349
Add std:: prefix for compilers without correct koenig lookup implemented.
...
Patch contributed by Paolo Invernizzi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16933 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 16:10:39 +00:00
Chris Lattner
84e48b860d
Right, calls have Operand#0 == the called function, don't forget this.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16930 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 04:45:20 +00:00
Chris Lattner
e80c8191c2
New header. Classes can be added as needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16928 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 04:20:46 +00:00
Chris Lattner
7fa6e666ec
Allow creation of GEP constantexprs with a vector of value* operands as
...
well as a vector of constant*'s. It turns out that this is more efficient
and all of the clients want to do that, so we should cater to them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16923 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-11 22:52:25 +00:00
Chris Lattner
b92f50fe60
Add long overdue methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16921 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-11 22:21:13 +00:00
Chris Lattner
d15165723c
Get friendly with Type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16812 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 19:21:43 +00:00
Chris Lattner
485457f562
Change signature of this method again
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16810 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 19:19:12 +00:00
Chris Lattner
93a00e4ceb
Rename pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16801 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 04:12:02 +00:00
Misha Brukman
f5d9fa7e78
Undoxyfy internal method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16774 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-06 17:19:58 +00:00
Misha Brukman
0cbd1fbb0e
Doxygen-ify comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16773 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-06 16:56:16 +00:00
Chris Lattner
df00115aa4
Rename method, change comment, add argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16771 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-06 16:34:23 +00:00
Chris Lattner
c441f1e1c7
Fix #include flavor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16658 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 18:10:18 +00:00
Reid Spencer
0fd3061a28
Add HAVE_BZIP2 and HAVE_ZLIB
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16655 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 17:48:37 +00:00
Reid Spencer
469c34bdeb
Add a context for the callback so different compression scenarios can be
...
distinguished. Tidy up documentation. Thanks, Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16652 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 17:29:25 +00:00
Reid Spencer
ce4e6ade3e
Minor corrections suggested by Chris' ever-watchful eye.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16651 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 17:26:26 +00:00
Reid Spencer
9737492204
First version of the MappedFile abstraction for operating system idependent
...
mapping of files. This first version uses mmap where its available. The
class needs to implement an alternate mechanism based on malloc'd memory
and file reading/writing for platforms without virtual memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16649 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 11:08:32 +00:00
Reid Spencer
460eb63612
First version of a support utility to provide generalized compression in
...
LLVM that handles availability and unavailability of bzip2 and zlib.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16648 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-04 10:49:41 +00:00
Alkis Evlogimenos
4b97f23a00
Add const version of getLastBlock() member function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16625 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-30 21:42:02 +00:00
Alkis Evlogimenos
30eed211c9
Remove whitespace from the end of the line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16624 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-30 21:39:47 +00:00
Brian Gaeke
f858f7f380
Add accessor function prototypes for reoptimizer support passes.
...
Make accessors return FunctionPass* as appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16619 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-30 20:13:55 +00:00
Chris Lattner
70ca358b7d
* Wrap some comments to 80 cols
...
* Add const_iterator stuff
* Add a print method, which means that I can now call dump() from the
debugger.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16612 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-30 15:59:17 +00:00
Chris Lattner
49db6fe193
Be consistent with our naming
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16552 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 18:37:00 +00:00
Chris Lattner
dcc4a6f705
Capture information about whether the target instructions have delay slots
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16550 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 18:33:50 +00:00
Alkis Evlogimenos
c72c617a4e
Add includes and use std:: for standard library calls to make code
...
compile on windows. This patch was contributed by Paolo Invernizzi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16539 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 14:42:44 +00:00
Alkis Evlogimenos
148d2065e4
Use class instead of struct for defining classes. This unbreaks the
...
build on windows. Patch contributed by Paolo Invernizzi!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16531 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-28 01:59:17 +00:00
Reid Spencer
45392b694f
Clean up the interface of TimeValue:
...
- get rid of unneeded constructors
- get rid of duplicate methods/constructors/operators
- normalize to LLVM coding standards
- wrap to 80 columns.
Many thanks to Alkis Evlogimenos for his suggestions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16514 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-25 08:29:54 +00:00
Reid Spencer
9926c31351
Initial implementation of the TimeValue abstraction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16511 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24 23:25:19 +00:00
John Criswell
4046846d2c
Updated the last two header files so that they are configured with
...
AC_CONFIG_HEADERS. This should prevent LLVM from needlessly re-compiling
on a re-configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16510 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24 21:19:06 +00:00
John Criswell
9f011866e9
Modified hash_map and hash_set configuration so that they are not
...
regenerated on every run of configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16509 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24 18:28:00 +00:00
John Criswell
5fbb1f8fcc
Configure Datatypes.h.in with AC_CONFIG_HEADERS. This should prevent it
...
from being re-generated if the new version is identical to the old version.
Hence, it should save us some recompiling after re-configures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16506 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24 13:28:51 +00:00
Reid Spencer
530036b5e8
Change Value from a "struct" to a "class" so that VC 7.1 doesn't generate
...
missing symbols when its referenced as a class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16496 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23 14:49:45 +00:00
Reid Spencer
358e685597
Update to add the HAVE_UINT64_T test and the STACK_DIRECTION indicator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16480 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22 15:32:08 +00:00
Reid Spencer
023f212f3c
The alloca function, strangely enough, is found in the malloc.h header file
...
on MINGW platform. Provide an #elseif case to #include malloc.h for this
platform if malloc.h is found.
Patch provided by Henrik Bach. Thanks Henrik!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16479 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22 15:28:32 +00:00
Chris Lattner
b12914bfc0
'Pass' should now not be derived from by clients. Instead, they should derive
...
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:48:05 +00:00
Chris Lattner
8e47e7292c
Do not prototype any of these passes as returning Pass*. Instead, be specific
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:41:39 +00:00
Chris Lattner
d55c9bf318
Adjust to API changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16429 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:35:27 +00:00
Chris Lattner
cd382a3725
Add CallGraphNode::removeAnyCallEdgeTo method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16398 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 21:34:34 +00:00
Chris Lattner
ff8c495386
Implement new changeFunction method, nuke a never implemented one.
...
Add comments and doxygenify others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16387 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-18 00:22:43 +00:00
Chris Lattner
7e0e9c635f
Make sure to update the list end when an element is removed from it. This
...
fixes a crash in LICM when processing povray.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16367 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-15 17:00:41 +00:00