Chris Lattner
6dd0bb3d27
Add new UndefValueVal type
...
llvm-svn: 17038
2004-10-16 18:06:07 +00:00
Chris Lattner
423a692a5b
Add new UnreachableInst class
...
llvm-svn: 17037
2004-10-16 18:05:54 +00:00
Chris Lattner
88ba528955
Add new unreachable instruction
...
llvm-svn: 17036
2004-10-16 18:05:37 +00:00
Chris Lattner
1217610926
Add new UndefValue class
...
llvm-svn: 17035
2004-10-16 18:05:25 +00:00
Chris Lattner
56508557cf
UndefValue's are constants
...
llvm-svn: 17034
2004-10-16 18:05:10 +00:00
Chris Lattner
b222ad66ef
Move the implementation of the clone method for these classes to
...
Instructions.cpp, so that a vtable is not emitted into every translation unit
that uses the classes.
llvm-svn: 17025
2004-10-15 23:52:05 +00:00
Chris Lattner
65976f4178
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!!
llvm-svn: 17007
2004-10-15 04:38:41 +00:00
Misha Brukman
e20eb48c53
Convert tabs to spaces
...
llvm-svn: 16988
2004-10-14 18:47:56 +00:00
Chris Lattner
df0849be71
Make sure any client of Dominators.h links in Dominators.cpp
...
llvm-svn: 16986
2004-10-14 15:46:59 +00:00
Chris Lattner
1bd3fdd438
Remove unneeded typedef, patch by Morten Ofstad
...
llvm-svn: 16984
2004-10-14 14:51:09 +00:00
Chris Lattner
ae45589b0f
Use explicit std:: qualification to avoid relying on Koenig lookup, which
...
VC++ does not do properly. Thanks to Morten Ofstad for the patch!
llvm-svn: 16955
2004-10-13 15:11:23 +00:00
Chris Lattner
a4756fd6be
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!
llvm-svn: 16954
2004-10-13 15:09:21 +00:00
Chris Lattner
aa3facb3fe
Update doco, make doxygen more, use standard dividers.
...
llvm-svn: 16948
2004-10-13 04:44:53 +00:00
Misha Brukman
4a81cf32a5
Fix file comment header
...
llvm-svn: 16942
2004-10-12 21:48:02 +00:00
Misha Brukman
35c31cb4a2
On second thought, OpaqueType is not really a good first-class type.
...
llvm-svn: 16941
2004-10-12 20:35:04 +00:00
Chris Lattner
b00e680146
Add comment
...
llvm-svn: 16937
2004-10-12 17:08:44 +00:00
Misha Brukman
08a8f7261e
Opaque types are considered to be first-class.
...
llvm-svn: 16936
2004-10-12 17:06:17 +00:00
Chris Lattner
4436e1c174
Add std:: prefix for compilers without correct koenig lookup implemented.
...
Patch contributed by Paolo Invernizzi
llvm-svn: 16933
2004-10-12 16:10:39 +00:00
Chris Lattner
18dea852e9
Right, calls have Operand#0 == the called function, don't forget this.
...
llvm-svn: 16930
2004-10-12 04:45:20 +00:00
Chris Lattner
0a12c99e3a
New header. Classes can be added as needed.
...
llvm-svn: 16928
2004-10-12 04:20:46 +00:00
Chris Lattner
63ba63bb56
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.
llvm-svn: 16923
2004-10-11 22:52:25 +00:00
Chris Lattner
70197d8f29
Add long overdue methods
...
llvm-svn: 16921
2004-10-11 22:21:13 +00:00
Chris Lattner
36e1648743
Get friendly with Type
...
llvm-svn: 16812
2004-10-07 19:21:43 +00:00
Chris Lattner
4b6b21a216
Change signature of this method again
...
llvm-svn: 16810
2004-10-07 19:19:12 +00:00
Chris Lattner
8ddca97a5a
Rename pass
...
llvm-svn: 16801
2004-10-07 04:12:02 +00:00
Misha Brukman
9ed0f36e93
Undoxyfy internal method.
...
llvm-svn: 16774
2004-10-06 17:19:58 +00:00
Misha Brukman
80dedeb9fd
Doxygen-ify comments
...
llvm-svn: 16773
2004-10-06 16:56:16 +00:00
Chris Lattner
3f0662954e
Rename method, change comment, add argument
...
llvm-svn: 16771
2004-10-06 16:34:23 +00:00
Chris Lattner
4463fcc2f8
Fix #include flavor
...
llvm-svn: 16658
2004-10-04 18:10:18 +00:00
Reid Spencer
fdf5f0f13a
Add HAVE_BZIP2 and HAVE_ZLIB
...
llvm-svn: 16655
2004-10-04 17:48:37 +00:00
Reid Spencer
49089d64c2
Add a context for the callback so different compression scenarios can be
...
distinguished. Tidy up documentation. Thanks, Chris.
llvm-svn: 16652
2004-10-04 17:29:25 +00:00
Reid Spencer
024857a516
Minor corrections suggested by Chris' ever-watchful eye.
...
llvm-svn: 16651
2004-10-04 17:26:26 +00:00
Reid Spencer
da2e8b9943
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.
llvm-svn: 16649
2004-10-04 11:08:32 +00:00
Reid Spencer
d2bedc512d
First version of a support utility to provide generalized compression in
...
LLVM that handles availability and unavailability of bzip2 and zlib.
llvm-svn: 16648
2004-10-04 10:49:41 +00:00
Alkis Evlogimenos
bbc01f13fc
Add const version of getLastBlock() member function.
...
llvm-svn: 16625
2004-09-30 21:42:02 +00:00
Alkis Evlogimenos
dbf62db0d0
Remove whitespace from the end of the line.
...
llvm-svn: 16624
2004-09-30 21:39:47 +00:00
Brian Gaeke
63338063d0
Add accessor function prototypes for reoptimizer support passes.
...
Make accessors return FunctionPass* as appropriate.
llvm-svn: 16619
2004-09-30 20:13:55 +00:00
Chris Lattner
89a80a46f1
Be consistent with our naming
...
llvm-svn: 16552
2004-09-28 18:37:00 +00:00
Chris Lattner
c92b280e0d
Capture information about whether the target instructions have delay slots
...
llvm-svn: 16550
2004-09-28 18:33:50 +00:00
Alkis Evlogimenos
4f5920aaef
Add includes and use std:: for standard library calls to make code
...
compile on windows. This patch was contributed by Paolo Invernizzi.
llvm-svn: 16539
2004-09-28 14:42:44 +00:00
Alkis Evlogimenos
adea49eec0
Use class instead of struct for defining classes. This unbreaks the
...
build on windows. Patch contributed by Paolo Invernizzi!
llvm-svn: 16531
2004-09-28 01:59:17 +00:00
Reid Spencer
0dbad34203
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.
llvm-svn: 16514
2004-09-25 08:29:54 +00:00
Reid Spencer
894f394594
Initial implementation of the TimeValue abstraction.
...
llvm-svn: 16511
2004-09-24 23:25:19 +00:00
John Criswell
8e633294c2
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.
llvm-svn: 16510
2004-09-24 21:19:06 +00:00
John Criswell
bd7cfd3d74
Modified hash_map and hash_set configuration so that they are not
...
regenerated on every run of configure.
llvm-svn: 16509
2004-09-24 18:28:00 +00:00
John Criswell
52263072bc
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.
llvm-svn: 16506
2004-09-24 13:28:51 +00:00
Reid Spencer
67f6472f19
Change Value from a "struct" to a "class" so that VC 7.1 doesn't generate
...
missing symbols when its referenced as a class.
llvm-svn: 16496
2004-09-23 14:49:45 +00:00
Reid Spencer
8304ac75a2
Update to add the HAVE_UINT64_T test and the STACK_DIRECTION indicator.
...
llvm-svn: 16480
2004-09-22 15:32:08 +00:00
Reid Spencer
182e31bdc5
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!
llvm-svn: 16479
2004-09-22 15:28:32 +00:00
Chris Lattner
424098cc84
This is an empty directory
...
llvm-svn: 16459
2004-09-21 16:26:13 +00:00
Chris Lattner
81eb16dd40
This is a dead directory now
...
llvm-svn: 16458
2004-09-21 16:25:41 +00:00
Chris Lattner
43c0372c0b
'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.
llvm-svn: 16436
2004-09-20 04:48:05 +00:00
Chris Lattner
a4d3f95fa3
Do not prototype any of these passes as returning Pass*. Instead, be specific
...
llvm-svn: 16431
2004-09-20 04:41:39 +00:00
Chris Lattner
110bbafcf7
Add CallGraphNode::removeAnyCallEdgeTo method
...
llvm-svn: 16398
2004-09-18 21:34:34 +00:00
Chris Lattner
e9772b7a63
Implement new changeFunction method, nuke a never implemented one.
...
Add comments and doxygenify others.
llvm-svn: 16387
2004-09-18 00:22:43 +00:00
Chris Lattner
33596a1fba
Make sure to update the list end when an element is removed from it. This
...
fixes a crash in LICM when processing povray.
llvm-svn: 16367
2004-09-15 17:00:41 +00:00
Chris Lattner
12d1ccfbd8
Add an optional argument to PromoteMemToReg
...
llvm-svn: 16346
2004-09-15 01:02:30 +00:00
Chris Lattner
20b39fdfb9
Add an AliasSetTracker::copyValue method
...
llvm-svn: 16343
2004-09-14 19:15:12 +00:00
Chris Lattner
f1450e2a51
Remove unused pass
...
llvm-svn: 16338
2004-09-14 16:34:08 +00:00
Reid Spencer
7bd9d86b65
Okay, the list of link-time passes wasn't such a hot idea. Its prone to
...
error. We'll strategize on this when we have multiple front ends to deal
with. For now llvm-ld just runs a standard set of transforms.
llvm-svn: 16333
2004-09-14 05:43:23 +00:00
Reid Spencer
28035a5b25
Add the GetLibraryPath method.
...
llvm-svn: 16322
2004-09-13 23:46:23 +00:00
Reid Spencer
4a1593ebd2
Add support for the link-time pass list to Modules.
...
llvm-svn: 16321
2004-09-13 23:44:23 +00:00
Reid Spencer
ce7c15737a
Simplify the sys::Memory interface per Chris' request.
...
llvm-svn: 16318
2004-09-13 22:38:11 +00:00
Reid Spencer
2114c143cf
Clean up the interface and implementation of sys::Program so that it is
...
cleanly dissociated from the sys::Path class.
llvm-svn: 16315
2004-09-13 21:48:44 +00:00
Misha Brukman
fa5efa6399
* Fix grammar
...
* Convert tabs to spaces
llvm-svn: 16300
2004-09-12 22:40:40 +00:00
Reid Spencer
c362a7299b
Fix the replace method to assert if an item was erased from the set but not
...
found in the vector. Previously, it just ignored this condition.
llvm-svn: 16296
2004-09-11 20:38:25 +00:00
Reid Spencer
3655235d99
Correct the interface of a function to use the correct typedef for an
...
argument so that it will always compile.
llvm-svn: 16284
2004-09-11 04:29:13 +00:00
Reid Spencer
605f05bd5a
Implement the remove method for deleting entries from the SetVector.
...
llvm-svn: 16283
2004-09-11 04:25:58 +00:00
Reid Spencer
9531457813
Make the dependent libraries list use a SetVector instead of a regular
...
vector so that duplicate libraries never occur within a module.
llvm-svn: 16280
2004-09-11 04:22:14 +00:00
Reid Spencer
a166926577
Initial commit of a file to declare the interface for platform independent
...
support for various memory allocation operations.
llvm-svn: 16279
2004-09-11 04:20:58 +00:00
Reid Spencer
af9d3fdc9d
Add methods for detecting file types by magic number, getting the file name
...
suffix for shared objects, and stripping a path down to its base name.
llvm-svn: 16278
2004-09-11 04:19:17 +00:00
Reid Spencer
455a47373b
Add methods for detecting different kinds of files by their magic number,
...
getting the suffix for shared objects, and extracting the basename from a
path.
llvm-svn: 16277
2004-09-11 04:18:05 +00:00
Chris Lattner
4c2703cbea
Add missing #include
...
llvm-svn: 16256
2004-09-09 02:37:56 +00:00
Reid Spencer
cfc37650dd
Add HAS_U_INT64_T
...
llvm-svn: 16184
2004-09-05 16:41:11 +00:00
Misha Brukman
8d8cc63851
I was actually wrong in my "simplification".
...
llvm-svn: 16156
2004-09-03 19:46:43 +00:00
Misha Brukman
16145fa607
Simplify check for uint64_t and u_int64_t
...
llvm-svn: 16155
2004-09-03 19:44:28 +00:00
Reid Spencer
610817d50b
Provide correct definition of uint64_t for platforms that have only
...
u_int64_t defined.
llvm-svn: 16154
2004-09-03 19:37:39 +00:00
Alkis Evlogimenos
0c50e0f211
Fixes to make LLVM compile with vc7.1.
...
Patch contributed by Paolo Invernizzi!
llvm-svn: 16152
2004-09-03 18:19:51 +00:00
John Criswell
b92941018c
Added u_int64_t because some systems use that instead of uint64_t.
...
llvm-svn: 16144
2004-09-02 18:41:30 +00:00
Alkis Evlogimenos
2fd7ccfb9c
Pull in definition of std::unary_function.
...
llvm-svn: 16140
2004-09-02 03:24:45 +00:00
Reid Spencer
c4abcbefb1
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
7043c4670f
Initial commit for platform independent system configuration support.
...
llvm-svn: 16128
2004-08-31 18:13:52 +00:00
Nate Begeman
440c16066f
Update doxygen comment now that getSpillSize is supposed to return value in bits
...
llvm-svn: 16101
2004-08-29 21:59:26 +00:00
Reid Spencer
9954f96013
Put the lib/System interface functions in llvm::sys namespace.
...
llvm-svn: 16083
2004-08-29 19:19:07 +00:00
Reid Spencer
114a2123ac
Initial commit of the platform agnostic interface to finding and executing
...
programs.
llvm-svn: 16080
2004-08-29 05:29:35 +00:00
Reid Spencer
923b7083e0
Add a function to remove whole directorys on fatal signal.
...
Doxygenify function comments.
llvm-svn: 16079
2004-08-29 05:27:15 +00:00
Reid Spencer
f7b4fa2e24
Revise the design of the Path concept per peer review. Too many changes to
...
note individually but these essence of it is to not derive from
std::string, clarify the interface, and provide better documentation.
There is now also (untested) implementations for AIX, Darwin, and SunOS.
llvm-svn: 16078
2004-08-29 05:24:01 +00:00
Alkis Evlogimenos
003c38c6dd
Add getLastBlock member. This is useful when growing a densemap keyed
...
on MachineBasicBlocks.
llvm-svn: 16069
2004-08-27 04:02:35 +00:00
Alkis Evlogimenos
877fe7d13c
Add MachineBasicBlock2IndexFunctor. This is useful for densemaps from
...
MachineBasicBlocks to an arbitrary type.
llvm-svn: 16068
2004-08-27 04:00:26 +00:00
Alkis Evlogimenos
e8d4b88e16
Add size member function.
...
llvm-svn: 16067
2004-08-27 03:58:31 +00:00
Alkis Evlogimenos
03913413da
Use newly added API in MRegisterInfo and don't expose the allocatable
...
register set anymore. Its users now use the MRegisterInfo API.
llvm-svn: 16061
2004-08-26 22:23:32 +00:00
Alkis Evlogimenos
100c89e9ea
Add getAllocatableSet() function.
...
llvm-svn: 16059
2004-08-26 22:21:04 +00:00
Alkis Evlogimenos
e8fe1becd6
Add default index functor (an identity functor). You could use a
...
vector directly to get the same functionality but using a DenseMap
makes the code more readable IMO.
llvm-svn: 16052
2004-08-26 03:37:28 +00:00
Reid Spencer
a50f1b794a
Initial implementation of the Path operating system concept.
...
llvm-svn: 16048
2004-08-25 06:20:07 +00:00
Reid Spencer
efd00af68d
Add a function that gets just the dependent libraries from a bytecode file.
...
Doxygenify comments.
llvm-svn: 16039
2004-08-24 22:49:07 +00:00
Reid Spencer
a3a84e2e08
Provide a method for wholesale extraction of the dependent libraries.
...
llvm-svn: 16038
2004-08-24 22:47:39 +00:00
Reid Spencer
1605d22f77
Give the -time-passes tool option a global storage location so that its
...
value can be discovered by the various LLVM tools.
llvm-svn: 16032
2004-08-24 17:52:35 +00:00
Reid Spencer
0d6613d183
Dump the DependentLibsBlockID, its not a block, its just a list inside the
...
globals info block. Add an enumerator for getting the number of enumerators
so we can range check in assertions.
llvm-svn: 15980
2004-08-21 20:42:28 +00:00
Reid Spencer
d73bd282d7
Add new methods:
...
- get the total number of types in the global type list
- handle dependent libraries
- handle target triple
llvm-svn: 15978
2004-08-21 20:41:12 +00:00
Reid Spencer
f6a56abd4d
Bytecode Analyzer cleanup:
...
- don't save the "dump" output, just emit it
- record the bc version number
- record info about the dependent libraries and target triple
- use the correct enumeration as the index on the block size map
llvm-svn: 15977
2004-08-21 20:40:08 +00:00