Chris Lattner
fd13129bdf
Reorder #includes to follow LLVM conventions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8375 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05 20:08:15 +00:00
Brian Gaeke
d1cab3e6ce
Interpreter, JIT moved to lib/ExecutionEngine (includes -> llvm/ExecutionEngine)
...
Build lli using executionengine library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8372 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05 19:42:34 +00:00
Brian Gaeke
5c9cd9564f
-abort-on-exception is gone. Rebuild your gccld shell scripts, folks! :-)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8368 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05 19:23:03 +00:00
Brian Gaeke
70975eef57
Make CreateArgv part of lli rather than part of ExecutionEngine.
...
Switch Interpreter and JIT's "run" methods to take a Function and a vector of
GenericValues.
Move (almost all of) the stuff that constructs a canonical call to main()
into lli (new methods "callAsMain", "makeStringVector").
Nuke getCurrentExecutablePath(), enableTracing(), getCurrentFunction(),
isStopped(), and many dead decls from interpreter.
Add linux strdup() support to interpreter.
Make interpreter's atexit handler runner and JIT's runAtExitHandlers() look
more alike, in preparation for refactoring.
atexit() is spelled "atexit", not "at_exit".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8366 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-05 18:42:01 +00:00
Brian Gaeke
8e53948881
Move EE dtor where it belongs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8345 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-04 22:57:27 +00:00
Brian Gaeke
f58815e161
Interpreter cleanups:
...
Get rid of support for DebugMode (make it always off).
Mung some comments.
Get rid of interpreter's PROFILE_STRUCTURE_FIELDS and PerformExitStuff
which have been disabled forever.
Get rid of -abort-on-exception (make it always on).
Get rid of user interaction stuff (debug mode innards).
Simplify Interpreter's callMainFunction().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8344 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-04 22:21:24 +00:00
Brian Gaeke
82d8277ad5
ExecutionEngine.cpp: Move execution engine creation stuff into a new
...
static method here.
Remove some extra blank lines.
ExecutionEngine.h: Add its prototype.
lli.cpp: Call it.
Make creation method for each type of EE into a static method of its
own subclass.
Interpreter/Interpreter.cpp: ExecutionEngine::createInterpreter -->
Interpreter::create
Interpreter/Interpreter.h: Likewise.
JIT/JIT.cpp: ExecutionEngine::createJIT --> VM::create
JIT/VM.h: Likewise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8343 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-03 20:34:19 +00:00
John Criswell
22edc39046
Added code that makes the bytecode file readable (needed by the generated shell
...
script).
Removed the use of sys/types.h and sys/stat.h.
Modified FileExists() so that it uses the access() system call to check for
file existance. This requires less header files and might even be a tad bit
faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8328 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-02 21:11:22 +00:00
John Criswell
d35b5b542d
Modified the code so that it uses the MakeFileExecutable() method. The new
...
library code now adds all execute bits that are allowed by the umask value to
the file's current permission bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8325 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-02 20:17:20 +00:00
Chris Lattner
145b7ddd67
#include is unnecessary
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8316 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 20:45:46 +00:00
Chris Lattner
253aef8e59
Preselection is now integrated into the Sparc target library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8305 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 20:30:17 +00:00
Chris Lattner
0748a3904a
Sparc peephole optimizer moved out of post-opts library into Sparc target library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8302 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-01 20:26:14 +00:00
Chris Lattner
36f18aefe8
Remove the -stopAfterNPasses option, which has been long obsoleted by bugpoint
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8278 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 21:47:24 +00:00
Chris Lattner
cf37c23a47
* move the dead-type-eliminate passes to the end, where they are more useful
...
* add prune-eh and inlining passes
* other minor pass reorganizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8277 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 21:45:55 +00:00
Chris Lattner
55b2eb3ef8
Rename TarjanSCCIterator -> scc_iterator
...
* Increases consistency with other iterators (e.g. df_iterator, po_iterator...)
* It's shorter
* We don't name classes by the implementation, we name it for the interface!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8273 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 20:01:57 +00:00
Chris Lattner
729d73d425
Don't explicitly use the SCC class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8271 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:55:06 +00:00
Chris Lattner
9f2a06e76d
The SCC::HasLoop method is now in the main iterator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8269 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:51:38 +00:00
Chris Lattner
6c5fd8e055
The tarjan iterator now returns a reference to the current SCC, not a possibly null pointer!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8262 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:35:16 +00:00
Chris Lattner
8d0a23ab42
Indent classes correctly in the namespace
...
move bodies out-of-line
Add getAnalysisUsage method for SFGSCC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:27:11 +00:00
Chris Lattner
23ebd75aff
* Cleanups
...
* Iterate from tarj_begin -> tarj_end, not from tarj_begin -> NULL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8258 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-31 19:23:41 +00:00
John Criswell
3a9ce67289
"Help keep our secrets secret."
...
Added code to respect the umask value. Before, files were generated world
readable, which may not be desirable for all installations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8215 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 14:46:12 +00:00
Misha Brukman
85544baf54
Renaming dis' ->
llvm-dis'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8197 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 22:14:16 +00:00
Misha Brukman
231d64dd08
Build llvm-as and llvm-dis as the upgrade path to renamed tools.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8192 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:43:51 +00:00
John Criswell
b5d09bf4cc
Added code to avoid checking for .bc when the filename is too short.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:42:29 +00:00
Misha Brukman
ad0bf0fc0c
Renaming LLVM dis' to
llvm-dis'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8189 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:34:13 +00:00
Misha Brukman
cbb62dd6b7
Renaming LLVM as' to
llvm-as'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8188 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 21:32:57 +00:00
Chris Lattner
a55c4b1ce7
Reorder #includes
...
Make sure that we veryify the result before writing it out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8177 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 16:25:34 +00:00
Tanya Lattner
14baebf4ee
First version of llvm-ar added to cvs repository.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-28 15:22:38 +00:00
Chris Lattner
0c8c0e80ca
Remove some long-dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8135 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 19:52:02 +00:00
Chris Lattner
39c07264da
Targets now configure themselves based on the source module, not on the
...
ad-hoc "Config" flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8134 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 19:50:53 +00:00
Chris Lattner
62c720a5bd
Targets now configure themselves with the module, not flags
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8133 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 19:50:12 +00:00
Chris Lattner
1543e40cea
Add preliminary support for "any" pointersize/endianness. This will need
...
to change soon though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8123 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 14:02:47 +00:00
Chris Lattner
bb43350e32
Add support for modules with "any" pointersize/endianness
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8122 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 14:02:14 +00:00
Chris Lattner
a2b2dc9795
add preliminary support for -export-dynamic
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8058 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 19:18:45 +00:00
Chris Lattner
c28c1d3cd1
Kill warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8056 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 18:57:43 +00:00
Misha Brukman
79063d6c4b
Squash the warning that `Result' may not be initialized on all code paths.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8042 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 03:35:24 +00:00
John Criswell
69582b35b6
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8022 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 21:12:30 +00:00
Misha Brukman
c1fdca8045
Make the bytecode file executable as well for LLEE purposes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7992 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-20 20:38:15 +00:00
Chris Lattner
a59f71adea
no-strict-aliasing redux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7965 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 22:32:48 +00:00
Chris Lattner
c13115c633
The CBE generates code which violates the TBAA rules of C, thus we must disable
...
optimizations based on these rules. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7964 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 22:32:03 +00:00
Chris Lattner
04aa29d7bf
Add new -disable-verify option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7960 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 20:47:13 +00:00
Misha Brukman
5560c9d49c
Spell `necessary' correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Chris Lattner
57c6941631
Give correct command line for making a shared object
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7929 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-17 23:38:53 +00:00
Chris Lattner
57e5a702d0
Make sure that "newmain" gets names for its arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7927 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-17 22:14:20 +00:00
Chris Lattner
e533cefbc0
Fix message
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7926 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-17 22:08:25 +00:00
Misha Brukman
bdfb1d83d2
`execve_test' is not part of LLEE.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7912 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 23:31:54 +00:00
Misha Brukman
593ece0050
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7911 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 23:31:16 +00:00
Chris Lattner
ad6ba3e071
Revert my last (accidental) checkin, but keep the typeo fix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7879 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:56:47 +00:00
Chris Lattner
80df4638fe
rename selection library to selectiondag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7878 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:56:09 +00:00
Chris Lattner
4c7fc1e813
Incorporate mapping library into the sparc library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7800 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 02:28:20 +00:00
Misha Brukman
0abaaf49fd
Initial checkin of the LLEE, the (LL)VM (E)xecution (E)nvironment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7760 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 22:29:36 +00:00
Chris Lattner
4c08840e4b
Include the new selection library for the X86 target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7720 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 14:59:53 +00:00
Misha Brukman
249d64a14c
Chomped spurious blank lines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7700 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-08 15:37:35 +00:00
Misha Brukman
3d9cafa003
File-related functions moved to FileUtilities.h .
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7696 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:42:28 +00:00
Chris Lattner
23d5724c61
Completely remove mention of the correlated branch elimination pass. It has
...
bugs and needs to be reworked anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7692 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:30:12 +00:00
Misha Brukman
57d708b122
* The possessive third-person singular has no apostrophe (its)
...
* Grouped header files to fit with the LLVM standard
* Fit code into 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7690 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:23:52 +00:00
Misha Brukman
e49603d79d
Re-grouped and alphabetized headers for easier reading and cleaner style.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7689 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:19:30 +00:00
Misha Brukman
11c6592daf
Fixed path for SystemUtils.h and a few code cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7688 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:05:13 +00:00
Misha Brukman
0bd75bb92d
Moved SystemUtils.h to include/Support and SystemUtils.cpp to lib/Support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7687 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:04:42 +00:00
Chris Lattner
47ae4a1cee
If we're debugging the SimplifyCFG pass, we _REALLY_ don't want to use it for
...
narrowing, no matter what.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7596 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 15:51:05 +00:00
Misha Brukman
a493ae300b
Only test the vector of functions if it is non-empty.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7594 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 15:26:21 +00:00
Misha Brukman
5d3f1f01aa
Do not attempt to reduce a test case if it is an empty set.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7570 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 19:03:42 +00:00
John Criswell
5cfff2545d
Added code that ensures that we don't try to reduce an empty vector of basic
...
blocks.
This fixes the bugpoint regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7569 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 18:24:31 +00:00
Chris Lattner
ca25b956f1
Make sure to flush the output stream so that we get incremental updates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7555 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 00:56:43 +00:00
Chris Lattner
6730c8133a
Print accurate run instructions for when testing LLC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7554 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-04 00:56:27 +00:00
Chris Lattner
15d11276c1
Fix problem I introduced in bugpoint with the cleanup functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7549 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 22:29:43 +00:00
Chris Lattner
c648dabf65
DEBUG got moved to Debug.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7491 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:13:59 +00:00
Chris Lattner
65f62790d6
Use the new FileUtilities library to do diff'ing of files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7484 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 20:29:45 +00:00
Chris Lattner
794a58ed19
Use the C++, more portable, deleter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7483 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 20:29:18 +00:00
Chris Lattner
10b9fa89a1
Don't emit modules with lots of cruft hanging off of them.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7478 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 16:14:33 +00:00
Chris Lattner
587a6ce4b9
Parameterize the performFinalCleanups a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7477 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 16:13:49 +00:00
Misha Brukman
3b624625e7
Ignore intrinsic functions -- don't mangle their names or rewrite calls to them.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7438 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 21:45:20 +00:00
Misha Brukman
be6bf5668c
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7434 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 20:15:56 +00:00
Misha Brukman
9d679cbc6c
* 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*>)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 20:15:44 +00:00
Misha Brukman
800e6e216a
Moved definition of InputArgv into ExecutionDriver.cpp -- it is only used there.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7427 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 17:59:23 +00:00
Misha Brukman
7835c85227
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7423 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 17:44:15 +00:00
Chris Lattner
c1869e85de
Add variable to capture arguments that should be passed to the user program
...
This is unused so far.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 17:36:07 +00:00
Misha Brukman
5d5bc7b90c
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...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7419 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 15:29:55 +00:00
Misha Brukman
de9720ffce
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7380 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 16:02:28 +00:00
Misha Brukman
c1e39ee659
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7371 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 21:07:39 +00:00
Misha Brukman
fe04db890b
Added comment to function isExecutingJIT()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7370 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 20:59:16 +00:00
Misha Brukman
91eabc13d3
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7364 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 19:16:14 +00:00
Misha Brukman
248ea32cc9
Add in support to load shared objects (-load is provided by Support library).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7360 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 19:06:19 +00:00
Misha Brukman
a259c9be2a
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7302 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 21:59:10 +00:00
Misha Brukman
5073336cd4
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 18:17:43 +00:00
Misha Brukman
265789f155
Fixed misspelling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7223 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21 21:58:16 +00:00
Chris Lattner
b18ed088fb
Remove instloops library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7210 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21 19:07:27 +00:00
Misha Brukman
fcf2be75ec
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7207 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18 22:21:40 +00:00
Anand Shukla
e79b4f1875
Added pass to instrument backedges for lightweight tracing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7202 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-18 16:25:40 +00:00
Misha Brukman
bc0e998c49
The word separate' only has one
e'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-14 17:20:40 +00:00
Misha Brukman
cc41afa6b1
Converted tabs to spaces.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7139 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 16:35:17 +00:00
Misha Brukman
29abc97100
Fixed indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7122 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-07 22:28:42 +00:00
Misha Brukman
82742916f3
* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7070 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 17:53:19 +00:00
John Criswell
7a73b80b90
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
Chris Lattner
dc52353833
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6916 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-26 05:29:50 +00:00
Chris Lattner
293a33a911
Move the instcombine pass before globaldce, so that if globals are made dead by instcombine, that they can be deleted.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6910 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-26 04:32:31 +00:00
Chris Lattner
898e0e42e3
Try to run cleanups even if nothing was modified in the preview passes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6897 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-25 04:13:52 +00:00
Chris Lattner
06c818e717
Run dead arg elimination, and tell it that it's ok to hack up non-internal functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6896 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-25 04:13:36 +00:00
Chris Lattner
e643a6cb9a
Add tail duplication pass to the pipeline, move the verifier pass to the front
...
Other minor reorganizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6849 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 20:11:45 +00:00
Chris Lattner
5b836c4a06
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6799 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-20 15:49:04 +00:00
Chris Lattner
dccb6d017b
Funcresolve no longer performs nicification of resolved functions
...
instcombine does this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6787 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 17:03:51 +00:00
Brian Gaeke
5ce1a585df
tools/llc/llc.cpp: Make "-o -" work.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6780 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 21:43:33 +00:00
Brian Gaeke
2e2f2dcd6a
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6776 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 21:14:23 +00:00
Chris Lattner
cccc28c674
Reindent code to match the rest of the file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6772 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 18:46:08 +00:00
Chris Lattner
a34f440f69
Add new DAE pass to gccld. It does not add cause any regressions in the test-suite
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6770 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 16:29:02 +00:00
Brian Gaeke
5285270871
Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms where
...
it is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6753 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 20:09:18 +00:00
Chris Lattner
f25b7729c1
Life is too short. Link in too much stuff on Linux to make building on sun easier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6748 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 19:14:59 +00:00
Chris Lattner
da601403d9
The never-ending odyssey trying to get sparc to link
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6747 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 18:19:52 +00:00
Chris Lattner
d562436355
Make sure to get the value of ARCH before we use it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6746 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 17:53:35 +00:00
Chris Lattner
2bf4c61557
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. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 15:54:52 +00:00
Chris Lattner
7a5500e2f6
Whoops, didn't mean to check that in :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6743 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 15:46:34 +00:00
Chris Lattner
97ac14f33c
Use more structured command line option processing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6742 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 15:43:13 +00:00
Chris Lattner
2eb9a257c8
Actually, change it to use explicit new/delete, which is more likely to be
...
optimized INTO an alloca
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6727 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 22:29:09 +00:00
Chris Lattner
5b1688d73b
Remove usage of alloca
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6726 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 22:22:11 +00:00
Brian Gaeke
ad95d9ef50
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6723 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 21:54:01 +00:00
Chris Lattner
4a4dabaac0
Fix major bug in my last checkin. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6688 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-13 16:10:26 +00:00
Chris Lattner
8fce4bf39b
Remove obsolete comments about llvm-ar
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6686 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-12 18:57:42 +00:00
Chris Lattner
5b4299c26d
Remove duplicate pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05 20:51:10 +00:00
Chris Lattner
b417c795d2
Remove stupid thinko that was preventing bugpoint from working
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6533 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 04:54:29 +00:00
Chris Lattner
24271cf8d7
Give better information about how the passes crash
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6532 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 04:54:16 +00:00
Chris Lattner
3ce0ea8fd8
Add support for: -o -
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6485 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 21:47:16 +00:00
Chris Lattner
42ed21b151
Add SRoA pass to gccas
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6442 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 19:24:06 +00:00
Chris Lattner
4dc3535e7a
Move indvars pass after mem2reg pass where it is more likely to be useful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6441 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 19:23:10 +00:00
Chris Lattner
e68e4d59e8
Fix formatting in file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6398 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:13:15 +00:00
Misha Brukman
1df4d5e668
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6361 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:42:05 +00:00
Chris Lattner
68d9ed8b76
Remove ugly hack (that I put in originally) for building in trace stuff
...
automatically in LLC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6358 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:23:02 +00:00
Chris Lattner
6ac79d115e
Add compatibility option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6354 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 19:15:11 +00:00
Brian Gaeke
6ae73dc98f
Remove ".bc" from the end of InputFile if it is there, in
...
tools/lli/lli.cpp:main().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6317 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23 20:28:07 +00:00
Brian Gaeke
69a79600cb
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.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6316 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23 20:27:07 +00:00
Brian Gaeke
dae7f92366
Clarify BugDriver.cpp:BugDriver::ParseInputFile()'s return values in its
...
explanatory comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23 05:34:32 +00:00
Chris Lattner
6c8103f7dd
Kill using declarations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6292 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 20:13:16 +00:00
Chris Lattner
dbe48dcaec
Allow disabling final cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6271 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21 20:38:59 +00:00
Chris Lattner
28b8ed90c7
Increase odds that this won't bork things
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21 19:41:31 +00:00
Chris Lattner
9148ec65c2
Get rid of really old makefile cruft
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6218 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 21:31:31 +00:00
Chris Lattner
7cb77e188f
Search LLVM_LIB_SEARCH_PATH for objects to allow it to find crtend.o
...
Implement minor library linking optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6181 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-13 22:14:13 +00:00
Chris Lattner
59039a926d
Add a disable-verify option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6155 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 22:12:44 +00:00
Chris Lattner
0b43f4ef29
Move static stuff to an anonymous namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6154 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 22:08:58 +00:00
Chris Lattner
3cbacc9047
Print filename correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6119 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 14:32:04 +00:00
Chris Lattner
19669f37b0
The JIT is the default mode for LLI now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6118 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 14:31:57 +00:00
Chris Lattner
f479be58f5
Make a comment more accurate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5991 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 03:20:36 +00:00
Chris Lattner
cc876a7421
Add support for debugging miscompilations with the use of the JIT or CBE!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5990 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 03:19:41 +00:00
Chris Lattner
fb74224662
Bugpoint is always verbose, eliminate option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5989 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 03:18:41 +00:00
Misha Brukman
c8b27318a3
The Grammar Police is out on patrol.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5985 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 02:16:43 +00:00
Chris Lattner
590607b01c
Add an instcombine pass before levelraise
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5980 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-02 18:19:05 +00:00
Chris Lattner
68492725a0
Add a new option to disable stripping of bytecode files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5969 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-28 03:28:56 +00:00
Chris Lattner
10daaa1416
Remove two fields from TargetData which are target specific.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 20:11:09 +00:00
Chris Lattner
6db70ef879
Add options to disable simplification with passes, in case one of them crashes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5950 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 22:08:12 +00:00
Chris Lattner
bc19466912
Make sure to copy double alignment as well
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5936 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 06:06:13 +00:00
Chris Lattner
b5881f126d
Kill using declarations
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5934 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:26:11 +00:00
Chris Lattner
2b5f2c1a64
Make sure to add a targetdata instance to the passmanager, and make it match the
...
one in use by the TargetMachine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5931 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:22:29 +00:00
Chris Lattner
0c13998775
Rename Kept -> Suffix
...
FIX problem where we were incorrectly putting the prefix of the list into the "suffix" list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5926 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 03:16:33 +00:00
Chris Lattner
06943add8b
Rename Kept -> Suffix
...
Fix problem where we accidentally returned KeepPrefix instead of KeepSuffix!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5925 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 03:16:05 +00:00
Chris Lattner
5f73e38548
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5918 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 00:53:05 +00:00
Chris Lattner
16608b4c85
When cleaning up the final bytecode file, make sure to run DTE as well
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5917 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 00:52:30 +00:00
Chris Lattner
286921e8d2
Speed up convergence significantly and also reduce the size of testcases by making large portions of a function's CFG dead at a time.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5915 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 23:51:38 +00:00
Chris Lattner
f607b79bc7
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5914 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:54:06 +00:00
Chris Lattner
44be257166
Remove dead functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5913 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:53:24 +00:00
Chris Lattner
473a843f31
Make sure that deleted functions have external linkage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5912 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:53:01 +00:00
Chris Lattner
aae33f9137
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5911 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:24:58 +00:00
Chris Lattner
39aebca3a2
Adjust to match new ListReducer interface
...
Move function to generic code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5910 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:24:22 +00:00
Chris Lattner
b4ebe13643
Allow reducer interfaces to mutate the lists passed in
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5909 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:23:56 +00:00
Chris Lattner
ff4aaf0010
Move function from Miscompilation.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5908 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:23:34 +00:00
Chris Lattner
126840f49e
Move the ListReducer Class into it's own header file instead of living in Miscompilation.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5907 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 20:16:29 +00:00
Chris Lattner
a148ccb158
Allow bugpoint to try new an different methods for pruning down lists
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5905 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 19:32:42 +00:00
Chris Lattner
9c3b55ea9f
Make sure to create a target data that matches the Module's target properties.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5904 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 19:13:02 +00:00
Chris Lattner
c986392c30
Remove support for "target data" pass ctors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5900 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 18:36:41 +00:00
Chris Lattner
961f7b4e4f
LevelRaise now gets target data from passmanager
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5898 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 18:26:03 +00:00
Chris Lattner
640f22e66d
Implement support for bugpoint to identify which FUNCTION an optimization
...
is miscompiling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5893 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 17:02:17 +00:00
Chris Lattner
eea21dd91c
Print where reference output goes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5891 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 20:41:18 +00:00
Chris Lattner
a4dd4e2de8
The new CFrontend generates LOTs of basic blocks that just fall through and do
...
other funky stuff. Clean it up early.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5889 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 20:40:42 +00:00
Chris Lattner
3c053a0a98
Allow specifying an input file for the program being executed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5888 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 20:31:37 +00:00
Chris Lattner
cf31784c69
We now need to link libscalar to get the switch lowering pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5874 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:43:02 +00:00
Chris Lattner
6e96a99ce3
Remove unnecessary &*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5873 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:38:00 +00:00
Chris Lattner
e0b235cd97
Build the appropriate target machine for the input pointer size and endianness
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5838 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 18:10:32 +00:00
Chris Lattner
d34a51dbbe
Add support for allowing the user to extend the GCCLD searchpath
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5825 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-21 19:53:24 +00:00
Chris Lattner
c65b104309
Eliminate useless duplicate libraries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19 23:07:33 +00:00
Chris Lattner
10970eb05f
Add first support for linking in .a files correctly and minimally, like a real linker does
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5822 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19 22:44:38 +00:00
Chris Lattner
a856db22fa
Add crufty compatibility stuff for ld
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5813 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18 23:38:22 +00:00
Chris Lattner
e1c8153d63
Eliminate some compatibility stuff no longer needed :P
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5812 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18 23:38:09 +00:00
Chris Lattner
f3d4f178b2
Use anonymous namespace instead of "static"
...
Kill using decl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5811 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18 23:01:25 +00:00
Chris Lattner
0af1e8e3a4
Don't support codegen passes in opt
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5797 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 23:02:16 +00:00
Chris Lattner
f5653226b5
Remove codegen libraries to speed up linking opt
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5796 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 22:55:55 +00:00
Chris Lattner
dabaa46c66
Allow the user to disable the internalize pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5792 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 21:43:22 +00:00
Chris Lattner
56620da5b4
Give verbose error messages if bytecode file cannot be parsed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5789 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:51:36 +00:00
Chris Lattner
8c7b0551f4
Improve compatibility with system AS further by allowing input from stdin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5780 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 17:49:18 +00:00
Chris Lattner
2c1d2f21fd
* Get rid of using declaration
...
* Add two compatibility options to work better with new GCC frontend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5779 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 17:41:08 +00:00
Chris Lattner
f2956fcc11
Namespacify command line options
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5778 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 17:34:29 +00:00
Chris Lattner
0e08e1beda
Minor tweak
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5758 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-31 17:30:35 +00:00
Chris Lattner
10f22cb1a0
Make sure that intermediate code is verifier clean to avoid wierd problems.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5723 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-07 18:17:13 +00:00
Chris Lattner
ba386d943f
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5668 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 16:13:20 +00:00
Chris Lattner
ddd5b417c6
Rename -no-* to -disable-*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5642 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 20:00:41 +00:00
Chris Lattner
22a3b55406
Make printing messages nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5616 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:07:54 +00:00
Chris Lattner
f3bafc1043
Add new -no-verify option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5542 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-12 18:45:08 +00:00
Chris Lattner
d70b68ebd0
Add a new -no-output option, useful for -aa-eval tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5541 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-12 18:43:33 +00:00
Chris Lattner
3301b695cb
Fix build problem on sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5428 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 18:15:34 +00:00
Chris Lattner
6520785dcd
Make bugpoint *much* more powerful, giving it the capability to delete instructions
...
out of a large function to reduce it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5408 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 02:48:33 +00:00
Chris Lattner
f2bcccfbab
Allow creating of passes like levelraise which use a targetdata ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5403 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-22 23:24:11 +00:00
Chris Lattner
cabda2134e
link with static versions of some libs to avoid having to pull in all of ipo/ipa and datastructure at all
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5402 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-22 22:14:04 +00:00
Chris Lattner
285ca5ed2f
Fix didn't fix the race condition in the makefiles
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5394 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-22 15:41:10 +00:00
Chris Lattner
c479db964f
Fix race condition in Makefile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5380 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-21 15:20:50 +00:00
Chris Lattner
784fac874c
* 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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5375 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-19 21:55:43 +00:00
Chris Lattner
6ede045533
Rename header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5283 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:57:15 +00:00
Chris Lattner
66de1893bc
Link in lots o libraries
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5269 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:30:30 +00:00
Chris Lattner
0394891ef6
No longer need scalaropts lib
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:58:18 +00:00
Chris Lattner
c93489bf87
Eliminate direct access to TargetData structure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5156 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-28 20:00:00 +00:00
Chris Lattner
e1b52b7656
Fix compilation on GCC 3.2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5136 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-24 00:44:34 +00:00
Chris Lattner
4fcfc12dab
Don't try to buidl jello
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5135 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-24 00:44:26 +00:00
Chris Lattner
d6840ac046
Fixes to compile with GCC 3.2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5134 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-24 00:39:16 +00:00
Chris Lattner
a3b58e8e1b
Jello is now part of LLI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5133 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-24 00:14:25 +00:00
Chris Lattner
fe11a97fcd
Substantial changes to refactor LLI to incorporate both the Jello JIT and
...
the traditional LLI interpreter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5125 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-23 23:59:41 +00:00
Chris Lattner
b76d4965c1
X86 target machine is now parameterizable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5124 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-23 23:55:01 +00:00
Chris Lattner
4a10645c70
New files for miscompilation detection
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5120 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-23 23:50:16 +00:00
Chris Lattner
218e26ef35
Implement the start of the miscompilation detection stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5119 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-23 23:49:59 +00:00
Brian Gaeke
5c1f0f6914
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5112 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-22 18:53:23 +00:00
Chris Lattner
debb5ee6c0
Make stuff compiled with gccld not dump into the debugger if there's a problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5028 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-14 21:28:32 +00:00
Chris Lattner
041b31ce69
Pass command line arguments to main
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5027 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-13 16:48:57 +00:00
Chris Lattner
395a8821bf
Add statistic
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5026 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-13 15:28:42 +00:00
Misha Brukman
e4bdfa6353
Made status output debug-only (for testing diffs against lli).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5022 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-13 13:15:36 +00:00
Brian Gaeke
e48ec018a5
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4994 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-13 06:46:31 +00:00
Chris Lattner
4c95e56743
Implement branches
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4988 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-13 05:40:28 +00:00
Brian Gaeke
20244b7e2c
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4973 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-12 15:33:40 +00:00
Misha Brukman
6a4a4cd837
ipa.a only needs to be mentioned once, and spaces should be used instead of
...
tabs for readability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4970 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-12 05:29:32 +00:00
Vikram S. Adve
3dbbaff5ec
Fix link errors due to new IPModRef pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4960 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-09 05:53:11 +00:00
Vikram S. Adve
027b27e5b9
Repeat ipa.a. Since IPModRef is currently only used in analysis.o,
...
it was causing linking errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4959 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-09 04:46:25 +00:00
Chris Lattner
bbdabce1e9
Add support to count the number of dynamic instructions executed by LLI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4955 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-08 05:51:08 +00:00
Chris Lattner
698e9ce568
Only build jello when compiling on X86
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4938 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 03:53:40 +00:00
Chris Lattner
5d7a579842
Fix to make jello compile on Sparc even though it won't run.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4937 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-06 03:52:51 +00:00
Chris Lattner
42aa3ae90b
Add support for global value references
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4908 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:45:40 +00:00
Chris Lattner
398b2f43ff
Initial checkin of global var support code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4904 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:09:04 +00:00
Chris Lattner
b3bbffe7fa
Implement simple global variable support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4903 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:04:17 +00:00
Chris Lattner
75a213dbe8
Implement external function support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4902 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:04:07 +00:00
Chris Lattner
41db76dec2
Initial checkin of Unresolved function fault handler
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4900 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 05:05:26 +00:00
Chris Lattner
d6c10ea817
Implement lazy resolution of function calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4899 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 04:47:34 +00:00
Chris Lattner
6710121b6b
Initial checkin of virtual machine implementation.
...
We can now run very trivial test cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4894 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 22:48:59 +00:00
Chris Lattner
9ec736860a
Disable timing of bytecode loader
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4887 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 19:42:26 +00:00
Chris Lattner
3e80f7d9ce
Final tweak to printer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4881 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 06:33:30 +00:00
Chris Lattner
ffe6eac6a2
Implement trivially simple debugger for MachineCodeEmitter interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4880 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 06:09:26 +00:00
Chris Lattner
18a171f34c
Add initial support for machine code emission
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4865 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 21:22:04 +00:00
Chris Lattner
21049cf266
Build bugpoint
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4790 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-20 22:28:18 +00:00
Chris Lattner
afade9294a
Initial checkin of bugpoint
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4789 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-20 22:28:10 +00:00
Chris Lattner
5113eb0c52
Move the function extractor pass from tools/extract into lib/Xform/IPO
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4759 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 18:42:59 +00:00
Chris Lattner
2181c0112f
Remove extra target.a entry
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4756 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-19 16:59:41 +00:00
Chris Lattner
49d9a88428
Add a timer to evaluate bytecode load time and space requirements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4679 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 06:55:02 +00:00
Vikram S. Adve
8aa5aeab84
Don't build llc symbols by default.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4565 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 16:10:57 +00:00
Chris Lattner
6d37acb052
Give passnames to the printer classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4559 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 06:16:08 +00:00
Chris Lattner
c9d8beff59
No need to explicitly inclue ExportSymbols now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4543 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 20:50:57 +00:00
Vikram S. Adve
c405daf392
Simple passes that print out SCCs in the CFGs or in the CallGraph of a module.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4532 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 14:20:22 +00:00
Chris Lattner
f74825436c
Implement a new -print-callgraph analysis that turns a callgraph into a dot
...
graph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4524 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-04 02:55:30 +00:00
Vikram S. Adve
02a74ccd61
Disable correlated expressions pass until it is reliable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4512 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-03 12:41:50 +00:00
Chris Lattner
52af630b24
Reassociate now works
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4472 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-31 17:13:11 +00:00
Misha Brukman
b246cee5fb
Return 0 instead of 1 for correct execution. Makes automated testing happy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4449 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-30 02:18:29 +00:00
Chris Lattner
a22026a665
Jello now builds
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4430 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 23:41:11 +00:00
Chris Lattner
ab0aa7ff99
* Privatize the TargetName
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4418 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 21:48:33 +00:00
Chris Lattner
6334205cb5
Allow TargetMachine to refuse static code gen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4415 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 21:12:46 +00:00
Chris Lattner
083ee69349
Convert jello to use PassManager
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4414 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 21:06:58 +00:00
Chris Lattner
6560b6b101
Rename Sparc.h TargetMachineImpls.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4409 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 20:48:09 +00:00
Chris Lattner
4aba5e34a1
* Remove explicit strcmp calls
...
* Rename Sparc.h to TargetMachineImpls.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4406 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 20:45:04 +00:00
Chris Lattner
e05c8fd5dd
After removing stuff from TargetMachine, we now no longer have to include
...
it twice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4311 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 01:13:07 +00:00
Chris Lattner
d08e9fd389
Add codegen library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4305 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 00:54:59 +00:00
Chris Lattner
ddb1212d89
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4285 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 22:58:53 +00:00
Vikram S. Adve
c954161ea7
Added datastructure library to resolve link error.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4279 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-25 21:17:34 +00:00
Chris Lattner
68ed318d33
* Fix extract to work with constant pointer refs correctly
...
* Extract makes all global vars external, so they don't have initializers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4121 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-12 20:50:16 +00:00
Chris Lattner
ac859db3e4
- Implement a new -print-cfg option for analyze, that causes it to print the
...
CFG of each function in the module to 'dot' files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4062 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:38:01 +00:00
Chris Lattner
71bcba7d1a
Avoid making external global variables internal
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4059 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:33:53 +00:00
Chris Lattner
7d3f8671c1
- The extract tool now is sure to extract the function implementation for
...
the specified name instead of extracting the prototype if both exist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4045 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 21:30:04 +00:00
Chris Lattner
d2f86e7ce6
Temporary change to make datastructure stuff link in right
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4005 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 22:41:01 +00:00
Chris Lattner
1751b7ed27
Change LowerAllocations pass to 'require' TargetData instead of it being
...
passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3930 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 23:47:49 +00:00
Chris Lattner
93c26685bf
Make sure to close the file before deleting it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3905 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 00:09:48 +00:00
Chris Lattner
cc377df7f5
* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3879 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-22 18:50:22 +00:00
Vikram S. Adve
dcde9bd285
Renamed library preselect to preopts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3841 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:43:20 +00:00
Chris Lattner
b4ee4f935e
Minor non-functionality changing changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3833 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 20:48:48 +00:00
Chris Lattner
0f82df410c
Indent a comment right, add a new one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3819 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 16:06:28 +00:00
Chris Lattner
d14d37614b
Avoid deleting the ostream more than once.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3816 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 23:30:05 +00:00
Vikram S. Adve
2f0a51c419
KEEP_SYMBOLS by default.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3813 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 11:55:44 +00:00
Chris Lattner
ec9962e44a
Compile sub-directories in parallel, because they don't have interdependencies
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3808 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 03:25:58 +00:00
Vikram S. Adve
0a4aa5a026
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3803 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-18 02:20:58 +00:00
Chris Lattner
72e66f4709
Enable correct support for dynamic loading on Linux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3780 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 20:40:24 +00:00
Chris Lattner
44756999dc
Enable correct support for dynamic loading on Linux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 20:40:22 +00:00
Vikram S. Adve
6170504cce
Remove duplicate sparc entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3762 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 18:28:27 +00:00
Vikram S. Adve
055451f011
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3761 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 18:13:12 +00:00
Vikram S. Adve
6189eae5cc
Change several entries to use the .o instead of .a to expose pass options.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3754 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:36:13 +00:00
Vikram S. Adve
7d0ba02640
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3753 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:35:34 +00:00
Vikram S. Adve
18fdfc4eed
Add support for optimization passes that use a TargetMachine object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3752 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:09:43 +00:00
Misha Brukman
655fb5c817
Function.h is unnecessary when Module.h is included.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3716 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 03:04:02 +00:00
Chris Lattner
b77640134e
Export symbols for linux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3707 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 22:20:19 +00:00
Chris Lattner
4dd7d3e34d
* No longer need to run die after instcombine
...
* Run new correlated expressions pass
* Simplify the CFG (removing dead blocks, merging blocks, eliminating branches
on constant booleans, etc) after correlated exprs pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3598 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 18:41:33 +00:00
Chris Lattner
0179450064
- Converted CWriter to be an LLVM pass.
...
- Convert dis to use a PassManager to do it's work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3560 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-31 00:30:15 +00:00
Chris Lattner
e8a7d74b0a
Get FindUsedTypes pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3559 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-31 00:29:36 +00:00
Chris Lattner
c5394837fe
- Reformat comments
...
- 'gccas' puts verifier in logical place in pass procession to avoid
recomputing dominator information unneccesarily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3553 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:55:32 +00:00
Chris Lattner
1acbea1678
- 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3552 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:54:41 +00:00
Chris Lattner
cd7fbf2d0f
- 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3551 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:54:37 +00:00
Chris Lattner
c74cb8698f
- Eliminate the last traces of the 'analysis' namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3550 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:53:53 +00:00
Chris Lattner
c619fa4ae5
Link to analysis.o not analysis.a
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3537 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:25:41 +00:00
Chris Lattner
1b7fbef3d3
- GCCAS now uses load value #ing for GCSE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3536 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:25:25 +00:00
Chris Lattner
e52e913626
New datastructure analysis correctly uses TargetData
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3525 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:10:29 +00:00
Anand Shukla
ecbb51b27e
Added mapping lib in llc makefile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3514 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 16:46:11 +00:00
Chris Lattner
d6118277b0
Fixed linking problems that wanted me to link to analyze.o instead of analyze.a
...
so now we can link to analyze.a again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3433 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:47:46 +00:00
Chris Lattner
8d64e17a83
Link in all analyses so that we get pointer analysis support built in
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3427 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:17:28 +00:00
Chris Lattner
374a0950cc
Do not leak memory for passes when using -stopAfterNPasses or -stopraise
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3371 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 22:40:03 +00:00
Chris Lattner
0e4ca08843
Run GlobalDCE before deadtypeelim so that we do not retain types for global
...
variables that are obviously dead. The most common case is %FILE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3370 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 22:38:02 +00:00