Chris Lattner
b4d9921728
add preliminary support for -export-dynamic
...
llvm-svn: 8058
2003-08-22 19:18:45 +00:00
Chris Lattner
d1123fde11
Kill warning
...
llvm-svn: 8056
2003-08-22 18:57:43 +00:00
Misha Brukman
188bf100aa
Squash the warning that `Result' may not be initialized on all code paths.
...
llvm-svn: 8042
2003-08-22 03:35:24 +00:00
John Criswell
71c3e6236f
The JIT now passes the environment pointer to the main() function when it
...
starts a program. This allows the GNU env program to compile and JIT under
LLVM.
llvm-svn: 8022
2003-08-21 21:12:30 +00:00
Misha Brukman
90869942e7
Make the bytecode file executable as well for LLEE purposes.
...
llvm-svn: 7992
2003-08-20 20:38:15 +00:00
Chris Lattner
a615c77cde
no-strict-aliasing redux
...
llvm-svn: 7965
2003-08-18 22:32:48 +00:00
Chris Lattner
c8e81ba355
The CBE generates code which violates the TBAA rules of C, thus we must disable
...
optimizations based on these rules. :(
llvm-svn: 7964
2003-08-18 22:32:03 +00:00
Chris Lattner
016ccdfea6
Add new -disable-verify option
...
llvm-svn: 7960
2003-08-18 20:47:13 +00:00
Misha Brukman
7eb05a170a
Spell `necessary' correctly.
...
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner
7a993b7aad
Give correct command line for making a shared object
...
llvm-svn: 7929
2003-08-17 23:38:53 +00:00
Chris Lattner
f1243ba515
Make sure that "newmain" gets names for its arguments
...
llvm-svn: 7927
2003-08-17 22:14:20 +00:00
Chris Lattner
8877fa2e5e
Fix message
...
llvm-svn: 7926
2003-08-17 22:08:25 +00:00
Misha Brukman
85f561f9ba
`execve_test' is not part of LLEE.
...
llvm-svn: 7912
2003-08-15 23:31:54 +00:00
Misha Brukman
0298d3e6ff
A lot of changes were suggested by Chris.
...
ExecveHandler.c:
* Use "" instead of <> for LLVM include files
* Use raw I/O, we don't need buffering
* Set errno = 0 before using open()
* strlen() doesn't count NULL terminator in its size
* Use memcmp() instead of strcmp()
* Return result of the real execve(), not 0
* Search for path to bytecode file if not absolute/relative path
SysUtils.c:
* Convert all comments to C-style
* Stop using `bool', use `unsigned' instead
SysUtils.h:
* Stop using `bool', use `unsigned' instead
* Updated comment to FindExecutable()
README.txt:
* Describe the goal of LLEE and an application
llvm-svn: 7911
2003-08-15 23:31:16 +00:00
Chris Lattner
8023f5c1c9
Revert my last (accidental) checkin, but keep the typeo fix
...
llvm-svn: 7879
2003-08-15 04:56:47 +00:00
Chris Lattner
6ae402fd2c
rename selection library to selectiondag
...
llvm-svn: 7878
2003-08-15 04:56:09 +00:00
Chris Lattner
32fdf188e7
Incorporate mapping library into the sparc library
...
llvm-svn: 7800
2003-08-13 02:28:20 +00:00
Misha Brukman
46b0345761
Initial checkin of the LLEE, the (LL)VM (E)xecution (E)nvironment.
...
llvm-svn: 7760
2003-08-11 22:29:36 +00:00
Chris Lattner
f458b7dd3b
Include the new selection library for the X86 target
...
llvm-svn: 7720
2003-08-11 14:59:53 +00:00
Misha Brukman
3f0385d424
Chomped spurious blank lines.
...
llvm-svn: 7700
2003-08-08 15:37:35 +00:00
Misha Brukman
1b7a238f3f
File-related functions moved to FileUtilities.h .
...
llvm-svn: 7696
2003-08-07 21:42:28 +00:00
Chris Lattner
b8f72991a6
Completely remove mention of the correlated branch elimination pass. It has
...
bugs and needs to be reworked anyway.
llvm-svn: 7692
2003-08-07 21:30:12 +00:00
Misha Brukman
250bf3674c
* The possessive third-person singular has no apostrophe (its)
...
* Grouped header files to fit with the LLVM standard
* Fit code into 80 columns
llvm-svn: 7690
2003-08-07 21:23:52 +00:00
Misha Brukman
0c2305b110
Re-grouped and alphabetized headers for easier reading and cleaner style.
...
llvm-svn: 7689
2003-08-07 21:19:30 +00:00
Misha Brukman
83d52f3c36
Fixed path for SystemUtils.h and a few code cleanups.
...
llvm-svn: 7688
2003-08-07 21:05:13 +00:00
Misha Brukman
e722e4ea49
Moved SystemUtils.h to include/Support and SystemUtils.cpp to lib/Support.
...
llvm-svn: 7687
2003-08-07 21:04:42 +00:00
Chris Lattner
d1e2aaef4f
If we're debugging the SimplifyCFG pass, we _REALLY_ don't want to use it for
...
narrowing, no matter what.
llvm-svn: 7596
2003-08-05 15:51:05 +00:00
Misha Brukman
689398fe76
Only test the vector of functions if it is non-empty.
...
llvm-svn: 7594
2003-08-05 15:26:21 +00:00
Misha Brukman
4aad821408
Do not attempt to reduce a test case if it is an empty set.
...
llvm-svn: 7570
2003-08-04 19:03:42 +00:00
John Criswell
fe69bc502d
Added code that ensures that we don't try to reduce an empty vector of basic
...
blocks.
This fixes the bugpoint regressions.
llvm-svn: 7569
2003-08-04 18:24:31 +00:00
Chris Lattner
7af360e339
Make sure to flush the output stream so that we get incremental updates
...
llvm-svn: 7555
2003-08-04 00:56:43 +00:00
Chris Lattner
a132c36880
Print accurate run instructions for when testing LLC
...
llvm-svn: 7554
2003-08-04 00:56:27 +00:00
Chris Lattner
4089d880ff
Fix problem I introduced in bugpoint with the cleanup functions
...
llvm-svn: 7549
2003-08-03 22:29:43 +00:00
Chris Lattner
f0c6964470
DEBUG got moved to Debug.h
...
llvm-svn: 7491
2003-08-01 22:13:59 +00:00
Chris Lattner
aa997fbbca
Use the new FileUtilities library to do diff'ing of files
...
llvm-svn: 7484
2003-08-01 20:29:45 +00:00
Chris Lattner
238ec53e70
Use the C++, more portable, deleter
...
llvm-svn: 7483
2003-08-01 20:29:18 +00:00
Chris Lattner
335c51afdf
Don't emit modules with lots of cruft hanging off of them.
...
llvm-svn: 7478
2003-08-01 16:14:33 +00:00
Chris Lattner
f7e125403b
Parameterize the performFinalCleanups a bit
...
llvm-svn: 7477
2003-08-01 16:13:49 +00:00
Misha Brukman
7d9632896d
Ignore intrinsic functions -- don't mangle their names or rewrite calls to them.
...
llvm-svn: 7438
2003-07-30 21:45:20 +00:00
Misha Brukman
87154fdbc0
CodeGeneratorBug.cpp:
...
* Temporarily externing InputArgv to print it out for the benefit of LLI command
needed to reproduce the result.
* Print out the list of functions currently being tested
* ListReducer now returns a bool if there was a failure, so test for it
ListReducer.h:
* Handle the case where there is no problem by returning true if failure is
found. Also correctly handles the case when there is only 1 pass/function.
Miscompilation.cpp:
* ListReducer now returns a bool if there was a failure, so test for it
llvm-svn: 7434
2003-07-30 20:15:56 +00:00
Misha Brukman
40feb36ffd
* Moved InputArgv out of anonymous scope to be extern'd in another file.
...
* Added DEBUG() statements to print out parameters passed to executing programs
* Actually ADD parameters to a program running via the JIT (using vector<char*>)
llvm-svn: 7433
2003-07-30 20:15:44 +00:00
Misha Brukman
f9010058d2
Moved definition of InputArgv into ExecutionDriver.cpp -- it is only used there.
...
llvm-svn: 7427
2003-07-30 17:59:23 +00:00
Misha Brukman
6cb2c57354
Use a vector<char*> instead of char*[] so that we can add arbitrary number of
...
parameters, such as command-line arguments that the executing program gets via
bugpoint.
llvm-svn: 7423
2003-07-30 17:44:15 +00:00
Chris Lattner
c65effdd23
Add variable to capture arguments that should be passed to the user program
...
This is unused so far.
llvm-svn: 7422
2003-07-30 17:36:07 +00:00
Misha Brukman
4b628c5aa1
Revert change: default architecture is never set, it is guessed from input
...
bytecode file. This means that LLC on X86 will compile to Sparc assembly given a
64-bit input bytecode file...
llvm-svn: 7419
2003-07-30 15:29:55 +00:00
Misha Brukman
a845a566e1
* Disambiguate symbols before we start splitting module by functions
...
* Moved DisambiguateGlobalSymbols() out of the ReduceMisCodegenFunctions class
* Added an assert to have a cleaner exit if `main' is not found in the module
llvm-svn: 7380
2003-07-29 16:02:28 +00:00
Misha Brukman
123c8576e5
Implemented cleanups as suggested by Chris:
...
* Use Module::getNamedFunction() to delete "main" instead of using a loop
* Compare function pointers instead of function names to determine equivalence
* Simplified creation of a 2-element vector containing zeroes
* Manually performed LICM on code
* Added an abort() in case a function we're considering occurs in something that
is not an instruction
* Use DEBUG() around code sections instead of just in a statement in a loop,
because GCC's DCE may not be good enough to completely remove it in a release
build
* Print out a command that can be directly copied-and-pasted to re-execute
* Instead of just checking if a symbol begins with a dot and fixing it
accordingly, use Mangler and fix all the problems (invalid chars in C symbol
names) entirely
* The new `main' function has external linkage
llvm-svn: 7371
2003-07-28 21:07:39 +00:00
Misha Brukman
eacfd216d3
Added comment to function isExecutingJIT()
...
llvm-svn: 7370
2003-07-28 20:59:16 +00:00
Misha Brukman
539f95933c
BugDriver.h:
...
* Added method to query if BugDriver is executing the JIT currently.
This provides the ability in adding code that is conditionally executed in
codegen debugging phase.
CodeGeneratorBug.cpp:
* Delete test functions from the Safe module
* Code conditionally added when debugging the JIT:
use the lazy resolver function added to Emitter.cpp to get function pointer
by name. When compiled into an .so, this is the only way to get a pointer to
an external function
* Added a symbol disambiguator which will keep symbols uniquely named across
modules
* Delete generated files by default
* The function `main' *must* stay in the .bc file for the JIT, but that prevents
debugging it alone. This patch makes the old `main' become `old_main' and adds
a new function named `main' which just calls the original with the same
parameters, thereby keeping functionality the same.
ExecutionDriver.cpp:
* Returned to getting unique filenames
* Simplified code choosing between using and not using shared library option
llvm-svn: 7364
2003-07-28 19:16:14 +00:00
Misha Brukman
c69f4a575c
Add in support to load shared objects (-load is provided by Support library).
...
llvm-svn: 7360
2003-07-28 19:06:19 +00:00
Misha Brukman
0fd3172754
Made a bunch of cleanups, as per Chris' recommendations:
...
* Removed unused global and member variables
* Fixed comments (CodeGeneratorBug.cpp)
* Check for possibly failing GCC::create() and CBE::create()
* Remove generated files after diffing the output (e.g., shared object)
* Instead of using std::for_each, use explicit loops as std::for_each may
duplicate the functor, and ours carries state
* Changed member var from cl::opt<std::string> to just std::string
* Fixed doxygen comments
* Fixed string comparisons to use [ str.empty() ] instead of [ str == "" ]
* Cache instances of CBE and GCC in BugDriver across compilations and executions
while testing tools.
llvm-svn: 7302
2003-07-24 21:59:10 +00:00
Misha Brukman
d792c9bb46
Major addition to bugpoint: ability to debug code generators (LLC and LLI).
...
The C backend is assumed correct and is used to generate shared objects to be
loaded by the other two code generators.
LLC debugging should be functional now, LLI needs a few more additions to work,
the major one is renaming of external functions to call the JIT lazy function
resolver.
Bugpoint now has a command-line switch -mode with options 'compile' and
'codegen' to debug appropriate portions of tools.
ExecutionDriver.cpp: Added implementations of AbstractInterpreter for LLC and
GCC, broke out common code within other tools, and added ability to generate C
code with CBE individually, without executing the program, and the GCC tool can
generate executables shared objects or executables.
If no reference output is specified to Bugpoint, it will be generated with CBE,
because it is already assumed to be correct for the purposes of debugging using
this method. As a result, many functions now accept as an optional parameter a
shared object to be loaded in, if specified.
llvm-svn: 7293
2003-07-24 18:17:43 +00:00
Misha Brukman
6a6587ab02
Fixed misspelling.
...
llvm-svn: 7223
2003-07-21 21:58:16 +00:00
Chris Lattner
361e9c8b97
Remove instloops library
...
llvm-svn: 7210
2003-07-21 19:07:27 +00:00
Misha Brukman
63e14b5a4a
Initialize the target architecture based on compiler defines, so if compiled on
...
x86 or Sparc, LLC will automatically default to that platform, no guessing
required. On another platform, it will default to `noarch' and will have to
guess which architecture to compile to.
llvm-svn: 7207
2003-07-18 22:21:40 +00:00
Anand Shukla
6d79113343
Added pass to instrument backedges for lightweight tracing
...
llvm-svn: 7202
2003-07-18 16:25:40 +00:00
Misha Brukman
7fdaab4f68
The word `separate' only has one `e'.
...
llvm-svn: 7173
2003-07-14 17:20:40 +00:00
Misha Brukman
ecfc0d2d3c
Converted tabs to spaces.
...
llvm-svn: 7139
2003-07-10 16:35:17 +00:00
Misha Brukman
f75934fe93
Fixed indentation.
...
llvm-svn: 7122
2003-07-07 22:28:42 +00:00
Misha Brukman
7dee443c1c
* If compiling on X86 or Sparc, automagically enable the JIT for that arch
...
* Setting ENABLE_X86_JIT or ENABLE_SPARC_JIT on the `make' command-line will
force the inclusion of that JIT on a different architecture
* If neither JIT is enabled (e.g., compiling on a different architecture), the
-march option will not be available to LLI.
* As a side effect of the $ARCH variable, the Sparc LLI can now link just a bit
faster by not including the x86 library.
llvm-svn: 7070
2003-07-02 17:53:19 +00:00
John Criswell
3ef61afb76
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner
c8a619313a
Run the simplify CFG pass after instcombine which has the effect of deleting
...
ALL of the global ctor/dtor stuff if it is not used!
llvm-svn: 6916
2003-06-26 05:29:50 +00:00
Chris Lattner
e4b7d467f8
Move the instcombine pass before globaldce, so that if globals are made dead by instcombine, that they can be deleted.
...
llvm-svn: 6910
2003-06-26 04:32:31 +00:00
Chris Lattner
2599356122
Try to run cleanups even if nothing was modified in the preview passes
...
llvm-svn: 6897
2003-06-25 04:13:52 +00:00
Chris Lattner
0192b72fde
Run dead arg elimination, and tell it that it's ok to hack up non-internal functions
...
llvm-svn: 6896
2003-06-25 04:13:36 +00:00
Chris Lattner
e81e0d8da9
Add tail duplication pass to the pipeline, move the verifier pass to the front
...
Other minor reorganizations
llvm-svn: 6849
2003-06-22 20:11:45 +00:00
Chris Lattner
67e0842581
Minor cleanups
...
llvm-svn: 6799
2003-06-20 15:49:04 +00:00
Chris Lattner
684e3d2726
Funcresolve no longer performs nicification of resolved functions
...
instcombine does this
llvm-svn: 6787
2003-06-19 17:03:51 +00:00
Brian Gaeke
c39d16ab8f
tools/llc/llc.cpp: Make "-o -" work.
...
llvm-svn: 6780
2003-06-18 21:43:33 +00:00
Brian Gaeke
cf8c4f5fe4
lib/Target/Sparc/Sparc.cpp:
...
Move LowerAllocations, PrintFunction, and SymbolStripping passes, and
the corresponding -disable-strip and -d options, over here to the SPARC
target-specific bits of llc. Rename -d to -dump-asm.
tools/llc/Makefile:
Reindent. Add x86 library so that llc compiles again.
tools/llc/llc.cpp:
Remove support for running arbitrary optimization passes. Use opt instead.
Remove LowerAllocations, PrintFunction, and SymbolStripping passes, as noted
above.
Allow user to select a backend (x86 or SPARC); default to guessing from
the endianness/pointer size of the input bytecode file.
Fix typos.
Delete empty .s file and exit with error status if target does not support
static compilation.
llvm-svn: 6776
2003-06-18 21:14:23 +00:00
Chris Lattner
422de25579
Reindent code to match the rest of the file
...
llvm-svn: 6772
2003-06-18 18:46:08 +00:00
Chris Lattner
472beba236
Add new DAE pass to gccld. It does not add cause any regressions in the test-suite
...
llvm-svn: 6770
2003-06-18 16:29:02 +00:00
Brian Gaeke
e38c7d9f2d
Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms where
...
it is needed.
llvm-svn: 6753
2003-06-17 20:09:18 +00:00
Chris Lattner
dcd6bcb71d
Life is too short. Link in too much stuff on Linux to make building on sun easier
...
llvm-svn: 6748
2003-06-17 19:14:59 +00:00
Chris Lattner
eba0e9930d
The never-ending odyssey trying to get sparc to link
...
llvm-svn: 6747
2003-06-17 18:19:52 +00:00
Chris Lattner
f9f0005af7
Make sure to get the value of ARCH before we use it
...
llvm-svn: 6746
2003-06-17 17:53:35 +00:00
Chris Lattner
d9cc372613
Do not link in the Sparc JIT when building on X86. Eventually the sparc will not
...
link in the X86 JIT either, but this makes testing easier.
For some reason, the sparc JIT was breaking the X86 JIT when it was linked in. :(
llvm-svn: 6745
2003-06-17 15:54:52 +00:00
Chris Lattner
66e018bb80
Whoops, didn't mean to check that in :(
...
llvm-svn: 6743
2003-06-17 15:46:34 +00:00
Chris Lattner
d9e6bfae0e
Use more structured command line option processing
...
llvm-svn: 6742
2003-06-17 15:43:13 +00:00
Chris Lattner
55491774bb
Actually, change it to use explicit new/delete, which is more likely to be
...
optimized INTO an alloca
llvm-svn: 6727
2003-06-16 22:29:09 +00:00
Chris Lattner
7bdbd91e92
Remove usage of alloca
...
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Brian Gaeke
7a719ed20c
Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
...
so that we can easily change its use to be conditional on the result of
an autoconf test later.
llvm-svn: 6723
2003-06-16 21:54:01 +00:00
Chris Lattner
3aa325766a
Fix major bug in my last checkin. :(
...
llvm-svn: 6688
2003-06-13 16:10:26 +00:00
Chris Lattner
5eba7071e6
Remove obsolete comments about llvm-ar
...
llvm-svn: 6686
2003-06-12 18:57:42 +00:00
Chris Lattner
6bacaa1152
Remove duplicate pass
...
llvm-svn: 6631
2003-06-05 20:51:10 +00:00
Chris Lattner
a965631408
Remove stupid thinko that was preventing bugpoint from working
...
llvm-svn: 6533
2003-06-02 04:54:29 +00:00
Chris Lattner
b165ea31b7
Give better information about how the passes crash
...
llvm-svn: 6532
2003-06-02 04:54:16 +00:00
Chris Lattner
306f8b4934
Add support for: -o -
...
llvm-svn: 6485
2003-05-31 21:47:16 +00:00
Chris Lattner
fdb2f4b7cd
Add SRoA pass to gccas
...
llvm-svn: 6442
2003-05-30 19:24:06 +00:00
Chris Lattner
49fac80010
Move indvars pass after mem2reg pass where it is more likely to be useful
...
llvm-svn: 6441
2003-05-30 19:23:10 +00:00
Chris Lattner
4c46c95247
Fix formatting in file
...
llvm-svn: 6398
2003-05-29 15:13:15 +00:00
Misha Brukman
80f0eb3a82
Link in Sparc libs for the JIT, even on X86 to be able to support debugging
...
of Sparc JIT (printing out instrs) on X86. Con: this increases linking time.
llvm-svn: 6361
2003-05-27 21:42:05 +00:00
Chris Lattner
ecf2020cf7
Remove ugly hack (that I put in originally) for building in trace stuff
...
automatically in LLC
llvm-svn: 6358
2003-05-27 21:23:02 +00:00
Chris Lattner
e320c9215d
Add compatibility option
...
llvm-svn: 6354
2003-05-27 19:15:11 +00:00
Brian Gaeke
b752116230
Remove ".bc" from the end of InputFile if it is there, in
...
tools/lli/lli.cpp:main().
llvm-svn: 6317
2003-05-23 20:28:07 +00:00
Brian Gaeke
5bfa37f4df
gccld.cpp:
...
Fix typo in header.
Add IsArchive static method.
Roll LoadLibraryFromDirectory() into LoadLibrary(), and factor
LoadLibraryExactName() out of the result. Instead of treating the current
directory specially, just insert it into LibPaths in the beginning of
main().
Make LoadLibrary() take a "search" flag that says whether to search for the
correct library, or just trust that LibName is right.
Make LinkLibrary() take a "search" flag, and pass it to LoadLibrary().
Change the for-loop over InputFilenames to detect ar archives and link them
in as libraries without searching.
Change the for-loop over Libraries to explicitly turn on the "search" flag
to LinkLibrary() that makes LoadLibrary() search for the correct library
(i.e., when processing -lNAME options.)
llvm-svn: 6316
2003-05-23 20:27:07 +00:00
Brian Gaeke
61a05da4d5
Clarify BugDriver.cpp:BugDriver::ParseInputFile()'s return values in its
...
explanatory comment.
llvm-svn: 6308
2003-05-23 05:34:32 +00:00
Chris Lattner
02a168310b
Kill using declarations
...
llvm-svn: 6292
2003-05-22 20:13:16 +00:00
Chris Lattner
d9b159587b
Allow disabling final cleanups
...
llvm-svn: 6271
2003-05-21 20:38:59 +00:00
Chris Lattner
2b3ab562f6
Increase odds that this won't bork things
...
llvm-svn: 6267
2003-05-21 19:41:31 +00:00
Chris Lattner
f327467e4e
Get rid of really old makefile cruft
...
llvm-svn: 6218
2003-05-14 21:31:31 +00:00
Chris Lattner
a2d3504c24
Search LLVM_LIB_SEARCH_PATH for objects to allow it to find crtend.o
...
Implement minor library linking optimization.
llvm-svn: 6181
2003-05-13 22:14:13 +00:00
Chris Lattner
df705a6d02
Add a disable-verify option
...
llvm-svn: 6155
2003-05-12 22:12:44 +00:00
Chris Lattner
ebc5f1944e
Move static stuff to an anonymous namespace
...
llvm-svn: 6154
2003-05-12 22:08:58 +00:00
Chris Lattner
a95548f56c
Print filename correctly
...
llvm-svn: 6119
2003-05-12 14:32:04 +00:00
Chris Lattner
966e1a20ce
The JIT is the default mode for LLI now
...
llvm-svn: 6118
2003-05-12 14:31:57 +00:00
Chris Lattner
823ce22ef2
Make a comment more accurate
...
llvm-svn: 5991
2003-05-03 03:20:36 +00:00
Chris Lattner
7709ec5df5
Add support for debugging miscompilations with the use of the JIT or CBE!
...
llvm-svn: 5990
2003-05-03 03:19:41 +00:00
Chris Lattner
9e97f4acb6
Bugpoint is always verbose, eliminate option
...
llvm-svn: 5989
2003-05-03 03:18:41 +00:00
Misha Brukman
f3d3bcb485
The Grammar Police is out on patrol.
...
llvm-svn: 5985
2003-05-03 02:16:43 +00:00
Chris Lattner
e22031edfe
Add an instcombine pass before levelraise
...
llvm-svn: 5980
2003-05-02 18:19:05 +00:00
Chris Lattner
23f358bb52
Add a new option to disable stripping of bytecode files
...
llvm-svn: 5969
2003-04-28 03:28:56 +00:00
Chris Lattner
4f6cdbdf81
Remove two fields from TargetData which are target specific.
...
llvm-svn: 5963
2003-04-26 20:11:09 +00:00
Chris Lattner
8d8de422dd
Add options to disable simplification with passes, in case one of them crashes
...
llvm-svn: 5950
2003-04-25 22:08:12 +00:00
Chris Lattner
8d6d4257a0
Make sure to copy double alignment as well
...
llvm-svn: 5936
2003-04-25 06:06:13 +00:00
Chris Lattner
d64b2de3c8
Kill using declarations
...
llvm-svn: 5934
2003-04-25 05:26:11 +00:00
Chris Lattner
21a7218c5f
Make sure to add a targetdata instance to the passmanager, and make it match the
...
one in use by the TargetMachine
llvm-svn: 5931
2003-04-25 05:22:29 +00:00
Chris Lattner
0347cda8b8
Rename Kept -> Suffix
...
FIX problem where we were incorrectly putting the prefix of the list into the "suffix" list.
llvm-svn: 5926
2003-04-25 03:16:33 +00:00
Chris Lattner
4a1a9d2cdd
Rename Kept -> Suffix
...
Fix problem where we accidentally returned KeepPrefix instead of KeepSuffix!
llvm-svn: 5925
2003-04-25 03:16:05 +00:00
Chris Lattner
65e5f653fd
Big programs have tons of global variable initializers, and most passes don't care
...
about them. Try to delete them if it doesn't affect the passes.
llvm-svn: 5918
2003-04-25 00:53:05 +00:00
Chris Lattner
b0143880f4
When cleaning up the final bytecode file, make sure to run DTE as well
...
llvm-svn: 5917
2003-04-25 00:52:30 +00:00
Chris Lattner
f32939bbc9
Speed up convergence significantly and also reduce the size of testcases by making large portions of a function's CFG dead at a time.
...
llvm-svn: 5915
2003-04-24 23:51:38 +00:00
Chris Lattner
de39f2bdac
The big fix is this change:
...
- if (I->isExternal() && !Functions.count(I))
+ if (!I->isExternal() && !Functions.count(I))
We were not actually deleting any functions from the module!
llvm-svn: 5914
2003-04-24 22:54:06 +00:00
Chris Lattner
10c0469be1
Remove dead functions
...
llvm-svn: 5913
2003-04-24 22:53:24 +00:00
Chris Lattner
c3380918a5
Make sure that deleted functions have external linkage
...
llvm-svn: 5912
2003-04-24 22:53:01 +00:00
Chris Lattner
1d080f24c5
Use the list reducer to improve convergence speed and to support crashes that
...
only occur when multiple passes interact or when multiple functions exist in a module
llvm-svn: 5911
2003-04-24 22:24:58 +00:00
Chris Lattner
ba159e2824
Adjust to match new ListReducer interface
...
Move function to generic code
llvm-svn: 5910
2003-04-24 22:24:22 +00:00
Chris Lattner
69f8e6f7aa
Allow reducer interfaces to mutate the lists passed in
...
llvm-svn: 5909
2003-04-24 22:23:56 +00:00
Chris Lattner
39388ca08e
Move function from Miscompilation.cpp
...
llvm-svn: 5908
2003-04-24 22:23:34 +00:00
Chris Lattner
9f5a197eb6
Move the ListReducer Class into it's own header file instead of living in Miscompilation.cpp
...
llvm-svn: 5907
2003-04-24 20:16:29 +00:00
Chris Lattner
b052843bd2
Allow bugpoint to try new an different methods for pruning down lists
...
llvm-svn: 5905
2003-04-24 19:32:42 +00:00
Chris Lattner
d571e2aa91
Make sure to create a target data that matches the Module's target properties.
...
llvm-svn: 5904
2003-04-24 19:13:02 +00:00
Chris Lattner
aa038c856a
Remove support for "target data" pass ctors
...
llvm-svn: 5900
2003-04-24 18:36:41 +00:00
Chris Lattner
0e48f8cb51
LevelRaise now gets target data from passmanager
...
llvm-svn: 5898
2003-04-24 18:26:03 +00:00
Chris Lattner
16a413103c
Implement support for bugpoint to identify which FUNCTION an optimization
...
is miscompiling.
llvm-svn: 5893
2003-04-24 17:02:17 +00:00
Chris Lattner
1b35bee37c
Print where reference output goes
...
llvm-svn: 5891
2003-04-23 20:41:18 +00:00
Chris Lattner
03507809a0
The new CFrontend generates LOTs of basic blocks that just fall through and do
...
other funky stuff. Clean it up early.
llvm-svn: 5889
2003-04-23 20:40:42 +00:00
Chris Lattner
68efaa7ad9
Allow specifying an input file for the program being executed
...
llvm-svn: 5888
2003-04-23 20:31:37 +00:00
Chris Lattner
7d4c04c99a
We now need to link libscalar to get the switch lowering pass
...
llvm-svn: 5874
2003-04-23 16:43:02 +00:00
Chris Lattner
e695da3f54
Remove unnecessary &*
...
llvm-svn: 5873
2003-04-23 16:38:00 +00:00
Chris Lattner
cebde8d74c
Build the appropriate target machine for the input pointer size and endianness
...
llvm-svn: 5838
2003-04-22 18:10:32 +00:00
Chris Lattner
da3bc21076
Add support for allowing the user to extend the GCCLD searchpath
...
llvm-svn: 5825
2003-04-21 19:53:24 +00:00
Chris Lattner
4b462c0f99
Eliminate useless duplicate libraries
...
llvm-svn: 5823
2003-04-19 23:07:33 +00:00
Chris Lattner
1d49617c4f
Add first support for linking in .a files correctly and minimally, like a real linker does
...
llvm-svn: 5822
2003-04-19 22:44:38 +00:00
Chris Lattner
602d209078
Add crufty compatibility stuff for ld
...
llvm-svn: 5813
2003-04-18 23:38:22 +00:00
Chris Lattner
82f626e951
Eliminate some compatibility stuff no longer needed :P
...
llvm-svn: 5812
2003-04-18 23:38:09 +00:00
Chris Lattner
2b3a5dbacb
Use anonymous namespace instead of "static"
...
Kill using decl
llvm-svn: 5811
2003-04-18 23:01:25 +00:00
Chris Lattner
52c7138d22
Don't support codegen passes in opt
...
llvm-svn: 5797
2003-04-16 23:02:16 +00:00
Chris Lattner
51bdb6156b
Remove codegen libraries to speed up linking opt
...
llvm-svn: 5796
2003-04-16 22:55:55 +00:00
Chris Lattner
a9a988005b
Allow the user to disable the internalize pass
...
llvm-svn: 5792
2003-04-16 21:43:22 +00:00
Chris Lattner
f46a02c88e
Give verbose error messages if bytecode file cannot be parsed
...
llvm-svn: 5789
2003-04-16 20:51:36 +00:00
Chris Lattner
12fe9b47cc
Improve compatibility with system AS further by allowing input from stdin
...
llvm-svn: 5780
2003-04-16 17:49:18 +00:00
Chris Lattner
3708870ec8
* Get rid of using declaration
...
* Add two compatibility options to work better with new GCC frontend
llvm-svn: 5779
2003-04-16 17:41:08 +00:00
Chris Lattner
1f412aeeb2
Namespacify command line options
...
llvm-svn: 5778
2003-04-16 17:34:29 +00:00
Chris Lattner
7ff2ce9f0b
Minor tweak
...
llvm-svn: 5758
2003-03-31 17:30:35 +00:00
Chris Lattner
44ffd7c373
Make sure that intermediate code is verifier clean to avoid wierd problems.
...
llvm-svn: 5723
2003-03-07 18:17:13 +00:00
Chris Lattner
514c02eb26
* Reduce the number of useless bytecode files produced by bugpoint.
...
- This also speeds it up as the bytecode writer isn't terribly fast.
* Add a new cleanup pass after everything else to run -funcresolve -globaldce
llvm-svn: 5668
2003-02-28 16:13:20 +00:00
Chris Lattner
30f40d94cc
Rename -no-* to -disable-*
...
llvm-svn: 5642
2003-02-26 20:00:41 +00:00
Chris Lattner
c2be148276
Make printing messages nicer
...
llvm-svn: 5616
2003-02-24 20:07:54 +00:00
Chris Lattner
b8450599f3
Add new -no-verify option
...
llvm-svn: 5542
2003-02-12 18:45:08 +00:00
Chris Lattner
4dbe59b5ba
Add a new -no-output option, useful for -aa-eval tests.
...
llvm-svn: 5541
2003-02-12 18:43:33 +00:00
Chris Lattner
e0e1b0d2a6
Fix build problem on sparc
...
llvm-svn: 5428
2003-01-29 18:15:34 +00:00
Chris Lattner
0eb5ce94dd
Make bugpoint *much* more powerful, giving it the capability to delete instructions
...
out of a large function to reduce it.
llvm-svn: 5408
2003-01-23 02:48:33 +00:00
Chris Lattner
892f93730b
Allow creating of passes like levelraise which use a targetdata ctor
...
llvm-svn: 5403
2003-01-22 23:24:11 +00:00
Chris Lattner
208e6e6ff0
link with static versions of some libs to avoid having to pull in all of ipo/ipa and datastructure at all
...
llvm-svn: 5402
2003-01-22 22:14:04 +00:00
Chris Lattner
3fef999fcb
Fix didn't fix the race condition in the makefiles
...
llvm-svn: 5394
2003-01-22 15:41:10 +00:00
Chris Lattner
cff8ebe6a3
Fix race condition in Makefile
...
llvm-svn: 5380
2003-01-21 15:20:50 +00:00
Chris Lattner
d232aaaaa9
* Prune down library list. In particular, llc doesn't need all of IPO, and none of data structure and IPA completely!
...
* Do not keep symbols by default!
llvm-svn: 5375
2003-01-19 21:55:43 +00:00
Chris Lattner
757b304077
Rename header
...
llvm-svn: 5283
2003-01-14 22:57:15 +00:00
Chris Lattner
ae2c1b7f15
Link in lots o libraries
...
llvm-svn: 5269
2003-01-14 21:30:30 +00:00
Chris Lattner
93fbc67720
No longer need scalaropts lib
...
llvm-svn: 5252
2003-01-13 00:58:18 +00:00
Chris Lattner
c864583477
Eliminate direct access to TargetData structure
...
llvm-svn: 5156
2002-12-28 20:00:00 +00:00
Chris Lattner
7c0f86233f
Fix compilation on GCC 3.2
...
llvm-svn: 5136
2002-12-24 00:44:34 +00:00
Chris Lattner
c94e5eeae8
Don't try to buidl jello
...
llvm-svn: 5135
2002-12-24 00:44:26 +00:00
Chris Lattner
5aa5663353
Fixes to compile with GCC 3.2
...
llvm-svn: 5134
2002-12-24 00:39:16 +00:00
Chris Lattner
544f4497d1
Jello is now part of LLI
...
llvm-svn: 5133
2002-12-24 00:14:25 +00:00
Chris Lattner
a0d7b084ef
Substantial changes to refactor LLI to incorporate both the Jello JIT and
...
the traditional LLI interpreter
llvm-svn: 5125
2002-12-23 23:59:41 +00:00
Chris Lattner
5a2f7ec55f
X86 target machine is now parameterizable
...
llvm-svn: 5124
2002-12-23 23:55:01 +00:00
Chris Lattner
de4aa4cf8c
New files for miscompilation detection
...
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner
d4e0474dcf
Implement the start of the miscompilation detection stuff
...
llvm-svn: 5119
2002-12-23 23:49:59 +00:00
Brian Gaeke
941945785e
brg
...
Add statistic for number of bytes of data area initialized.
We used this statistic in collecting data for the paper, but I forgot
to commit it.
llvm-svn: 5112
2002-12-22 18:53:23 +00:00
Chris Lattner
c451fb4efd
Make stuff compiled with gccld not dump into the debugger if there's a problem
...
llvm-svn: 5028
2002-12-14 21:28:32 +00:00
Chris Lattner
7857616402
Pass command line arguments to main
...
llvm-svn: 5027
2002-12-13 16:48:57 +00:00
Chris Lattner
bf6ad7d307
Add statistic
...
llvm-svn: 5026
2002-12-13 15:28:42 +00:00
Misha Brukman
a9b58a6e0f
Made status output debug-only (for testing diffs against lli).
...
llvm-svn: 5022
2002-12-13 13:15:36 +00:00
Brian Gaeke
4e2c30d894
brg
...
InstSelectSimple.cpp: Add stub implementation of visitFreeInst.
Add comments that mention how we are failing to implement malloc/free.
Add initial implementation of visitAllocaInst.
X86TargetMachine.cpp: Include llvm/Transforms/Scalar.h.
Add LowerAllocations pass before instruction selection.
jello/Makefile: Add scalaropts.a.
llvm-svn: 4994
2002-12-13 06:46:31 +00:00
Chris Lattner
7ccef07786
Implement branches
...
llvm-svn: 4988
2002-12-13 05:40:28 +00:00
Brian Gaeke
5e91d38ecb
This checkin is brought to you by the brian gaeke allnighter fund.
...
(lib/Target/X86) InstSelectSimple.cpp:
Include llvm/DerivedTypes.h and iostream.
Refactor visitMul out into a wrapper around doMultiply(), so that we
can do multiplications on temporary values when we are doing
getelementptrs.
Refactor part of getReg out into makeAnotherReg, so that we can create
registers willy-nilly to hold temporary values, when we are doing
getelementptrs.
Add stub implementations of visitMallocInst and visitAllocaInst.
Add initial implementation of visitGetElementPtrInst.
In copyConstantToRegister:
We throw a *lot* of our asserts here. So, when we want to throw an
assert, print out to stderr whatever expr or whatever constant made
us barf.
Support copying ConstantPointerNull to register, using a move immediate
of zero.
Rename FLDr4 and FLDr8 to FLDr32 and FLDr64, so that they match the meanings
of the numbers in the other instruction names. All uses modified.
Teach visitCallInst to extract byte- and short-class return values
from subregs of EAX. Add a FIXME note about how we would do it for
float-class return values.
Add a FIXME note about how we would cast float to int and back.
X86InstrInfo.def:
Rename FLDr4 and FLDr8 to FLDr32 and FLDr64, so that they match the meanings
of the numbers in the other instruction names. All uses modified.
(tools/jello) GlobalVars.cpp:
Include iostream.
If we have to emit a floating-point constant to memory, gamble and use
the same method as for ints.
If we have to emit a ConstantPointerNull to memory, try using a "void *"
and "NULL".
Otherwise, if we are going to throw an assert, print out whatever constant
made us barf, first.
llvm-svn: 4973
2002-12-12 15:33:40 +00:00
Misha Brukman
356163f48a
ipa.a only needs to be mentioned once, and spaces should be used instead of
...
tabs for readability.
llvm-svn: 4970
2002-12-12 05:29:32 +00:00
Vikram S. Adve
3425529fc5
Fix link errors due to new IPModRef pass.
...
llvm-svn: 4960
2002-12-09 05:53:11 +00:00
Vikram S. Adve
42b7335d7c
Repeat ipa.a. Since IPModRef is currently only used in analysis.o,
...
it was causing linking errors.
llvm-svn: 4959
2002-12-09 04:46:25 +00:00
Chris Lattner
4f96aa450e
Add support to count the number of dynamic instructions executed by LLI
...
llvm-svn: 4955
2002-12-08 05:51:08 +00:00
Chris Lattner
71b82e39b0
Only build jello when compiling on X86
...
llvm-svn: 4938
2002-12-06 03:53:40 +00:00
Chris Lattner
bd7029ffb3
Fix to make jello compile on Sparc even though it won't run.
...
llvm-svn: 4937
2002-12-06 03:52:51 +00:00
Chris Lattner
b41a1b7c72
Add support for global value references
...
llvm-svn: 4908
2002-12-04 06:45:40 +00:00
Chris Lattner
1813cb90e8
Initial checkin of global var support code
...
llvm-svn: 4904
2002-12-04 06:09:04 +00:00
Chris Lattner
99fee40091
Implement simple global variable support
...
llvm-svn: 4903
2002-12-04 06:04:17 +00:00
Chris Lattner
0ded70ec7c
Implement external function support
...
llvm-svn: 4902
2002-12-04 06:04:07 +00:00
Chris Lattner
6a716900ba
Initial checkin of Unresolved function fault handler
...
llvm-svn: 4900
2002-12-04 05:05:26 +00:00
Chris Lattner
b7bfaae93a
Implement lazy resolution of function calls
...
llvm-svn: 4899
2002-12-04 04:47:34 +00:00
Chris Lattner
7814bf2a79
Initial checkin of virtual machine implementation.
...
We can now run very trivial test cases
llvm-svn: 4894
2002-12-03 22:48:59 +00:00
Chris Lattner
807a36c458
Disable timing of bytecode loader
...
llvm-svn: 4887
2002-12-03 19:42:26 +00:00
Chris Lattner
89cb1d48f6
Final tweak to printer
...
llvm-svn: 4881
2002-12-03 06:33:30 +00:00
Chris Lattner
9af6a5d5fe
Implement trivially simple debugger for MachineCodeEmitter interface
...
llvm-svn: 4880
2002-12-03 06:09:26 +00:00
Chris Lattner
cbda9ce676
Add initial support for machine code emission
...
llvm-svn: 4865
2002-12-02 21:22:04 +00:00
Chris Lattner
12caa7a9cf
Build bugpoint
...
llvm-svn: 4790
2002-11-20 22:28:18 +00:00
Chris Lattner
73a6bdd958
Initial checkin of bugpoint
...
llvm-svn: 4789
2002-11-20 22:28:10 +00:00
Chris Lattner
58f9002b4a
Move the function extractor pass from tools/extract into lib/Xform/IPO
...
llvm-svn: 4759
2002-11-19 18:42:59 +00:00
Chris Lattner
6d192f5bb4
Remove extra target.a entry
...
llvm-svn: 4756
2002-11-19 16:59:41 +00:00
Chris Lattner
20362cd1e9
Add a timer to evaluate bytecode load time and space requirements
...
llvm-svn: 4679
2002-11-10 06:55:02 +00:00
Vikram S. Adve
763e3f5752
Don't build llc symbols by default.
...
llvm-svn: 4565
2002-11-06 16:10:57 +00:00
Chris Lattner
5f827fa57b
Give passnames to the printer classes
...
llvm-svn: 4559
2002-11-06 06:16:08 +00:00
Chris Lattner
a416ad30df
No need to explicitly inclue ExportSymbols now
...
llvm-svn: 4543
2002-11-04 20:50:57 +00:00
Chris Lattner
2743db5934
Implement a new -print-callgraph analysis that turns a callgraph into a dot
...
graph
llvm-svn: 4524
2002-11-04 02:55:30 +00:00
Vikram S. Adve
a8ebc7af15
Disable correlated expressions pass until it is reliable.
...
llvm-svn: 4512
2002-11-03 12:41:50 +00:00
Chris Lattner
f1257594b5
Reassociate now works
...
llvm-svn: 4472
2002-10-31 17:13:11 +00:00
Misha Brukman
872dee1d94
Return 0 instead of 1 for correct execution. Makes automated testing happy.
...
llvm-svn: 4449
2002-10-30 02:18:29 +00:00
Chris Lattner
17116422e5
Jello now builds
...
llvm-svn: 4430
2002-10-29 23:41:11 +00:00
Chris Lattner
e72f06b575
* Privatize the TargetName
...
llvm-svn: 4418
2002-10-29 21:48:33 +00:00
Chris Lattner
5667f0eefd
Allow TargetMachine to refuse static code gen
...
llvm-svn: 4415
2002-10-29 21:12:46 +00:00
Chris Lattner
8fd87e5f4c
Convert jello to use PassManager
...
llvm-svn: 4414
2002-10-29 21:06:58 +00:00
Chris Lattner
a9d552b3a9
Rename Sparc.h TargetMachineImpls.h
...
llvm-svn: 4409
2002-10-29 20:48:09 +00:00
Chris Lattner
23930c582c
* Remove explicit strcmp calls
...
* Rename Sparc.h to TargetMachineImpls.h
llvm-svn: 4406
2002-10-29 20:45:04 +00:00
Chris Lattner
b68bcf081a
After removing stuff from TargetMachine, we now no longer have to include
...
it twice.
llvm-svn: 4311
2002-10-28 01:13:07 +00:00
Chris Lattner
57a10398a5
Add codegen library
...
llvm-svn: 4305
2002-10-28 00:54:59 +00:00
Chris Lattner
f11dd2092b
Initial checkin of LLVM JIT, codenamed jello. This tool is not built by
...
default, until it becomes stable. Even then it will only work for for X86
targets.
llvm-svn: 4285
2002-10-25 22:58:53 +00:00
Vikram S. Adve
793fce4ece
Added datastructure library to resolve link error.
...
llvm-svn: 4279
2002-10-25 21:17:34 +00:00
Chris Lattner
66507d887a
* Fix extract to work with constant pointer refs correctly
...
* Extract makes all global vars external, so they don't have initializers
llvm-svn: 4121
2002-10-12 20:50:16 +00:00
Chris Lattner
9126483558
- Implement a new -print-cfg option for analyze, that causes it to print the
...
CFG of each function in the module to 'dot' files.
llvm-svn: 4062
2002-10-07 18:38:01 +00:00
Chris Lattner
8e2c197c17
Avoid making external global variables internal
...
llvm-svn: 4059
2002-10-07 18:33:53 +00:00
Chris Lattner
ae4cf5237a
- The extract tool now is sure to extract the function implementation for
...
the specified name instead of extracting the prototype if both exist.
llvm-svn: 4045
2002-10-06 21:30:04 +00:00
Chris Lattner
e6e375e704
Temporary change to make datastructure stuff link in right
...
llvm-svn: 4005
2002-10-01 22:41:01 +00:00
Chris Lattner
79efacbb19
Change LowerAllocations pass to 'require' TargetData instead of it being
...
passed in.
llvm-svn: 3930
2002-09-25 23:47:49 +00:00
Chris Lattner
47c2e3e952
Make sure to close the file before deleting it
...
llvm-svn: 3905
2002-09-24 00:09:48 +00:00
Chris Lattner
387d76a983
* Remove the -stopraise option, which is no longer needed now that we have
...
the -debug-pass=Arguments option
* Run instcombining BEFORE mem2reg so that getelementptr X, long 0's are
cleaned up. This is also important because scalar replacement of aggr.
will want instcombine to run before it goes as well.
llvm-svn: 3879
2002-09-22 18:50:22 +00:00
Vikram S. Adve
3e1dc145bd
Renamed library preselect to preopts.
...
llvm-svn: 3841
2002-09-20 00:43:20 +00:00
Chris Lattner
9ae5cf5ca3
Minor non-functionality changing changes.
...
llvm-svn: 3833
2002-09-19 20:48:48 +00:00
Chris Lattner
51eb611986
Indent a comment right, add a new one
...
llvm-svn: 3819
2002-09-19 16:06:28 +00:00
Chris Lattner
437254f29e
Avoid deleting the ostream more than once.
...
llvm-svn: 3816
2002-09-18 23:30:05 +00:00
Vikram S. Adve
3517f30fd9
KEEP_SYMBOLS by default.
...
llvm-svn: 3813
2002-09-18 11:55:44 +00:00
Chris Lattner
18daee20f9
Compile sub-directories in parallel, because they don't have interdependencies
...
llvm-svn: 3808
2002-09-18 03:25:58 +00:00
Vikram S. Adve
9c485d2165
gcc3.1.1 seems much more selective about what it loads from archives, and
...
does not link in many passes that are loaded by gcc2.95.3. So use object
files instead of archives in many more cases.
llvm-svn: 3803
2002-09-18 02:20:58 +00:00
Chris Lattner
66037f55d3
Enable correct support for dynamic loading on Linux
...
llvm-svn: 3780
2002-09-17 20:40:24 +00:00
Chris Lattner
a73486f69c
Enable correct support for dynamic loading on Linux
...
llvm-svn: 3779
2002-09-17 20:40:22 +00:00
Vikram S. Adve
14a25a370b
Remove duplicate sparc entry.
...
llvm-svn: 3762
2002-09-16 18:28:27 +00:00
Vikram S. Adve
9a056ed4e0
Use .o files instead of .a files for several cases (that don't actually
...
need them) until other Makefiles can be updated to build archives.
llvm-svn: 3761
2002-09-16 18:13:12 +00:00
Vikram S. Adve
116783613a
Change several entries to use the .o instead of .a to expose pass options.
...
llvm-svn: 3754
2002-09-16 16:36:13 +00:00
Vikram S. Adve
eb8186985f
Make all registered optimization passes available to llc.
...
Eliminate duplicate tracing options and use those defined by the trace passes.
Making the tracing step a module pass that runs before any llc-specific
passes.
llvm-svn: 3753
2002-09-16 16:35:34 +00:00
Vikram S. Adve
82491b79a1
Add support for optimization passes that use a TargetMachine object.
...
llvm-svn: 3752
2002-09-16 16:09:43 +00:00
Misha Brukman
2e8086f046
Function.h is unnecessary when Module.h is included.
...
llvm-svn: 3716
2002-09-14 03:04:02 +00:00