Chris Lattner
8bc098be0c
Do not crash when dealing with invoke and unwind instructions!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10160 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-22 02:10:38 +00:00
Chris Lattner
89eca9097d
Use new interfaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10159 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-22 02:10:26 +00:00
Chris Lattner
14b170f5ff
Reorder passes a bit. In particular, it makes sense to run globaldce IMMEDIATELY after funcresolve. Also, run the mem2reg pass _early_ so that IPCP and DAE actually do stuff.
...
Run instcombine and simplify cfg after this to cleanup the intraprocedural messes we create.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10134 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21 21:44:35 +00:00
Misha Brukman
3e25f2e1be
When writing out the runner script, add -load=<lib> lines to pull in all the
...
shared objects automagically, so it doesn't have to be done by hand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10114 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-20 19:08:42 +00:00
Misha Brukman
84fbc653ce
Add ability to search only for native shared object, and expose the
...
functionality to the rest of gccld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10113 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-20 19:08:06 +00:00
Misha Brukman
438e364692
For consistency, removed space between function name and left paren in function
...
call, i.e. [ addPass (...) ] => [ addPass(...) ]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-20 06:26:15 +00:00
Misha Brukman
9839969110
* Doxygenified comments, simplifying them and shortening in the process
...
* Eliminated extra space
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10104 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-20 06:21:54 +00:00
Brian Gaeke
8b1daa3e71
Unbreak the "-" as filename hack.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10099 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-19 22:15:00 +00:00
Brian Gaeke
820428711f
Also print an error msg. for files we cannot currently deal with.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10097 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-19 21:57:30 +00:00
Brian Gaeke
08d03c79a2
Fix PR134, by checking FileOpenable() on each input file before analyzing its
...
type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10096 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-19 21:52:09 +00:00
Brian Gaeke
c8db76c647
Only use -Wl,-R. if HAVE_LINK_R.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10066 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-18 06:31:17 +00:00
Brian Gaeke
1c0b6982d2
Include Support/FileUtilities.h.
...
Print module identifier in DumpSymbolNamesFromModule().
In DumpSymbolNamesFromFile(), check whether it is an archive or a bytecode
file, and call the corresponding reader function (ParseBytecodeFile or
ReadArchiveFile).
Unconditionally set MultipleFiles for archives.
Fixes PR117.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10044 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 23:34:13 +00:00
Brian Gaeke
1ab90d4e38
Add a -verify option to verify the results of gccld passes.
...
Add a -disable-opt option to turn off gccld optimization passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10040 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 23:07:28 +00:00
Brian Gaeke
2282ae1ebd
When we find a module we want, in an archive, in verbose mode,
...
print out the module's identifier (which should now contain the name
of both the archive and the module.)
Wrap some lines at 80 cols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10039 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 23:07:13 +00:00
Chris Lattner
a8d76d4bde
As the comments indicate, this is a temporary, repulsive, hack
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9982 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13 19:26:54 +00:00
Chris Lattner
6a45da0de6
Restore the -llvm option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9915 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-12 04:59:59 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
Brian Gaeke
0d723acf15
Move IsArchive, IsBytecode to FileUtilities. Fix up some method comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9902 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 21:54:01 +00:00
Misha Brukman
aab9ca73fd
'Tis quite silly to check for a cached version of the entire executable. That
...
amounts to checking for a completely-native version. We'll cache on a
function-by-function basis instead (in the JIT's CodeEmitter).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9894 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 18:38:56 +00:00
Brian Gaeke
ee8adb1955
This version of Linker.cpp works a lot better, but it's a little messy. Sorry.
...
Use FileOpenable() instead of FileExists().
Create IsBytecode() predicate -- like IsArchive(), but for bytecode files.
Use IsBytecode() before trying to load any file as a bytecode file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9893 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 18:27:37 +00:00
Misha Brukman
fa33a13232
The caching will not live in LLEE's execve() handler; that's suboptimal.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9890 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 18:23:09 +00:00
Chris Lattner
cc650b615d
Give gccld more guts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9835 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-09 19:55:09 +00:00
Chris Lattner
cde1cf3f9d
Add new command line option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9754 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 20:29:25 +00:00
Brian Gaeke
aee4de9957
Give this header file an Emacs mode-line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9749 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 22:13:10 +00:00
Brian Gaeke
00cc86a8fc
Do not assume the first file is a bytecode file. Instead, construct a dummy
...
Module and link things into that.
Also, fix a typo in an error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9748 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 22:13:00 +00:00
Brian Gaeke
3b3640a373
Shorten and correct some function-header comments.
...
Make "verbose" output MUCH nicer. Now it tells you when you are linking a
bytecode file, or an archive, and whether it's because you called it by name,
or because you gave it a -l option, and it says "Trying" before it takes
action and prints a message in the past tense afterwards.
Make LinkFiles not skip the first file in Files.
Make LinkFiles warn you if it can't find a file and LLVM_LIB_SEARCH_PATH is
unset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9747 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 22:12:52 +00:00
Chris Lattner
fcb6ec0c7e
I hate it when bugpoint is all ready to give me a bytecode file, then crashes
...
in final cleanups. Then you had to run the whole mess again with
-disable-final-cleanups.
This makes bugpoint run the cleanups in a protected environment so that if
they crash, bugpoint itself doesn't crash. This makes things much happier,
implements a FIXME, and gets rid of YABPO (yet another bugpoint option).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9743 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 21:45:35 +00:00
Chris Lattner
417477d6c2
Simplify the performFinalCleanups interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9740 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 21:15:19 +00:00
Chris Lattner
fe32bf5d0d
Make -r work, fixing PR 91
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9724 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 06:05:21 +00:00
Chris Lattner
fd35c6417d
If linking a library, do not link other libraries, like libc, into it!
...
This fixes lots of annoying warnings and error messages
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9677 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-03 17:27:17 +00:00
Chris Lattner
9088de7357
never print zero executions blocks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9626 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 00:34:05 +00:00
Chris Lattner
3b7f41631d
Simplify code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9625 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 00:20:09 +00:00
Chris Lattner
e1ccadf58c
Add percentage info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9624 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 00:13:26 +00:00
Chris Lattner
3baed41672
Hrm, some of my counters are wrapping around 32 bits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9623 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-31 00:06:57 +00:00
Chris Lattner
367373053b
If only have function profile, don't print out "not executed" for all of the blocks :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30 23:44:28 +00:00
Chris Lattner
5e717646d7
Add the ability to print out llvm code when the -annotated-llvm option is given
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9621 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30 23:42:09 +00:00
Chris Lattner
750ba3d6eb
Add the ability to synthesize function counts from block count information
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9595 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29 21:47:44 +00:00
Chris Lattner
18884a86ae
Print the top 20 most frequently executed blocks. Fix sort predicate problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9594 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29 21:41:17 +00:00
Chris Lattner
368820586b
Cleanup output a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9567 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 22:53:49 +00:00
Chris Lattner
e69671d65b
Add the ability for users to specify a specific argv[0] to pass into the
...
program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9565 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 22:51:44 +00:00
Chris Lattner
4963dcf584
Print out command lines used to run the programs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9562 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 22:30:37 +00:00
Brian Gaeke
204089042b
Fix extract to use the right TargetData, like Bugpoint does.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9561 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 22:22:16 +00:00
Chris Lattner
33f1ca7d8a
Add support for reading block frequencies. Fix bug in attribution of counts
...
to functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9559 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 21:25:23 +00:00
Chris Lattner
7a78d819b7
Provide an accessor for getting function count information. Print a simple
...
report
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9557 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 21:08:18 +00:00
Chris Lattner
e436779c5a
Read in the bytecode and profile information, but don't do anything with
...
it yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9556 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 20:13:07 +00:00
Chris Lattner
67e7104db7
Build the llvm-prof directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9552 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 19:16:49 +00:00
Chris Lattner
6f82d07060
Initial checkin of llvmprof stub
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9551 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 19:16:35 +00:00
Chris Lattner
08020c13d0
Reorder #includes, drop unneeded one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9548 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-28 19:08:15 +00:00
Chris Lattner
73b96bd52d
Do not print out lists with thousands of elements in them, that's kinda silly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9523 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-27 04:44:59 +00:00
Brian Gaeke
2f828c343b
TraceMode, as you may have heard, is history.
...
ExecutionEngine::create no longer takes a TraceMode argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9495 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24 20:00:17 +00:00
Brian Gaeke
7c7a3a2d7f
lli -q is history. Rebuild your gccld shell scripts, folks!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9494 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24 20:00:06 +00:00
Chris Lattner
246ce3c2d5
Turn on the inliner by default at link-time
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9477 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24 18:09:23 +00:00
Chris Lattner
eaa35bb794
Turn on the IPCP pass by default. It has passed all of the tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9435 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 18:25:57 +00:00
Chris Lattner
5da69c79f9
Fix an assertion failure in Bugpoint
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9406 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23 15:42:55 +00:00
Chris Lattner
3b39537e71
Delete the -print-cfg pass from this file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9372 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-22 16:02:58 +00:00
Chris Lattner
20678b96ea
New library needed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9364 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-22 03:40:33 +00:00
Brian Gaeke
f1fce0881f
Fix off-by-one error in processing of libraries named on command line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9351 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 21:07:12 +00:00
Brian Gaeke
b5ee509be2
Fix the first FIXME in this file: automatically pick a "good"
...
interpreter by default, by picking the first one that works
from a hard-coded list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9337 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 17:41:35 +00:00
John Criswell
e2fab734ad
Added LLVM copyright to Makefiles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9314 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 22:29:16 +00:00
John Criswell
1ee1e64293
Removed extraneous comment line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:40:30 +00:00
John Criswell
6fbcc26f14
Added LLVM copyright header (for lack of a better term).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
Misha Brukman
06ea151895
Made error message more comprehensible.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9299 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 19:43:47 +00:00
John Criswell
b576c94c15
Added LLVM project notice to the top of every C++ source file.
...
Header files will be on the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 19:43:21 +00:00
Chris Lattner
1dd27b157b
fix file header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9294 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 17:58:43 +00:00
Chris Lattner
943211187d
fix file headers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 17:57:13 +00:00
Chris Lattner
10cf8fa592
Fix file header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9292 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 17:52:11 +00:00
John Criswell
7c0e022c5c
Added copyright header to all C++ source files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9291 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 17:47:21 +00:00
Chris Lattner
9fc2adc487
Don't bother forwarding function references which are external to the program entirely
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9274 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 23:32:50 +00:00
Chris Lattner
6ebe44d22f
Ok, return an explicit path to the shared object, unbreaking code generator
...
debugging with the JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9273 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:54:13 +00:00
Chris Lattner
b656c20cf1
Fix iterator invalidation problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 21:48:27 +00:00
Chris Lattner
0b1fe84e81
Add debugtype, make output marginally more nice
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9251 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 02:27:40 +00:00
Chris Lattner
7b2ccffa59
Fix PR #47
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9250 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-19 02:14:58 +00:00
Chris Lattner
365f09a0e1
Update compile information
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9247 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:55:47 +00:00
Chris Lattner
670406d269
Add usage blurb
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9246 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:55:35 +00:00
Chris Lattner
1f0f1621f0
Without this option, the -run-llc mode does not work with shared objects at
...
all, making it pointless for use with the code generator debugger. With it,
it works like a charm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9245 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:54:47 +00:00
Chris Lattner
b715497a56
Print -fno-strict-aliasing as well
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9243 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:08:57 +00:00
Chris Lattner
1a28a2b76d
Don't leave a trail of bugpoint-execution-output-* breadcrumbs all over the place
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9242 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 21:02:51 +00:00
Chris Lattner
367e1ee5be
Change run-lli -> run-int
...
Many people associate lli with the jit, so we don't want to suprise them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9238 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 20:30:48 +00:00
Chris Lattner
25d66473c6
Default to using the CBE instead of the Interpreter if no -run-* option is specified
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9237 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 20:18:20 +00:00
Chris Lattner
a12c06a9fe
If we detect a pass crash during miscompilation testing, immediately enter the
...
crash debugger
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9234 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 19:27:48 +00:00
Chris Lattner
a64c3fa47e
Fix bug in my checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9217 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 00:14:13 +00:00
Chris Lattner
9f71e799c3
Another formatting fix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9216 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 00:05:05 +00:00
Chris Lattner
5ef681c19d
More cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9215 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 23:07:47 +00:00
Chris Lattner
9c6cfe1bff
Be more helpful if a pass fails while chasing down a miscompilation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9214 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-17 23:03:16 +00:00
Chris Lattner
fc046d52e4
Make llvm-nm work in "pipe mode"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9172 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:45:23 +00:00
Chris Lattner
9eb52a5c29
Geeze, what is with Brian and these ifdef's?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9169 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:27:24 +00:00
Chris Lattner
784fa188be
Welcome llvm-nm to the family
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9161 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 17:46:21 +00:00
Chris Lattner
f07c833b4b
Unfortunately, it looks like level raise is still needed :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9158 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 16:50:34 +00:00
Brian Gaeke
972d3d7fff
Okay, this is a little hack that "scratches an itch" of mine.
...
I dislike having to examine the output of "dis" to see what symbols
are in a bytecode file. So, here is a first cut at a "nm" utility for llvm.
Flame away.... :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9153 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 04:43:15 +00:00
Chris Lattner
dbc23189b1
Give this file a proper header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9141 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-15 21:49:57 +00:00
Chris Lattner
76a1bf9eb9
The levelraise pass is a broken old piece of crufty code that should be
...
left on the side of the road without a second thought.
It is preventing forward progress, so for now, we will disable it by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9140 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-15 21:48:38 +00:00
Brian Gaeke
b6c3a88dc4
Flush output after writing out the list of function names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9138 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-15 20:42:48 +00:00
Chris Lattner
7dac658792
add support forloading additional .so files on the command line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9131 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 22:24:31 +00:00
Chris Lattner
769f1fe672
Change the execute methods to take the shared object filename by const reference.
...
Other adjustments to work with the new ToolRunner interfaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9130 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:59:36 +00:00
Chris Lattner
eeed983821
Generalize abstract interpreter interface to allow linking in an arbitrary number of shared objects
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9129 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:52:52 +00:00
Misha Brukman
c4fb6fdd86
Enabling incremental bytecode loading in the JIT:
...
* Use the incremental bytecode reader interface to speed up execution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9127 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:39:53 +00:00
Chris Lattner
7915a1e764
Substantial cleanups:
...
* Add header comment
* Remove extraneous #includes
* Move the FileType enum into the GCC class
* The GCC class is not virtual.
* Move all of the "constructor" functions into the classes themselves
* Stop using cl::list as arguments, use std::vector instead (which cl::list
derives from)
* Improve comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9121 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:34:11 +00:00
Chris Lattner
a0f5b15e1e
The return value of compileSharedObject was never used. Return the shared
...
object's name instead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9120 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:09:11 +00:00
Chris Lattner
1798e4ade8
Actually return an error if something bad happens, don't just exit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9119 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:07:25 +00:00
Chris Lattner
8deb5814a1
minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9118 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 21:01:51 +00:00
Chris Lattner
182a21ea71
Fix minor formatting bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9116 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 20:55:56 +00:00
Chris Lattner
a5a96a9ed9
Eliminate the bugpoint -mode option, by making bugpoint automatically infer the root of all of your problems
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9115 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-14 20:52:55 +00:00
Chris Lattner
99b85334d7
Unbreak code generator debug mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9106 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-13 21:04:26 +00:00
Chris Lattner
da17eb62f7
LLI no longer has -abort-on-exception
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9097 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-13 18:26:49 +00:00
Brian Gaeke
ac32bfa54b
Don't include <stdlib.h>.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9038 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 19:12:45 +00:00
Brian Gaeke
82a036fd19
Don't include "Config/stdlib.h".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9037 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 19:12:22 +00:00
Brian Gaeke
4fa9fd3035
Rewrite head-of-file comment.
...
Include <cstdio> instead of <stdio.h>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9033 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 18:47:08 +00:00
Chris Lattner
0cea3ec964
Add a new -disable-inlining option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9028 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 18:18:53 +00:00
Misha Brukman
cf00c4ab3b
Fix spelling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:57:28 +00:00
Misha Brukman
452fea9972
Fix grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9026 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:56:49 +00:00
Misha Brukman
af9e45f892
Renamed dis.cpp => llvm-dis.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9017 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:30:10 +00:00
Misha Brukman
27b1a0b6bb
Renamed as.cpp => llvm-as.cpp; this should've happened a long time ago.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9016 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:28:53 +00:00
Brian Gaeke
608e75c604
Make more error messages have gccld's name in them.
...
Add a newline after "Cannot find <library>".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8968 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-08 19:09:30 +00:00
Chris Lattner
5de0bac111
This header file moved. Thanks to Bill and Nightly tester for noticing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8920 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-07 13:45:51 +00:00
Misha Brukman
6873450ed5
ToolRunner.h has been moved from include/Support to include/llvm/Support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8898 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-06 18:37:24 +00:00
Chris Lattner
f474449804
Add a file header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8781 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 18:28:53 +00:00
Misha Brukman
5208ba1292
Doxygen-ified comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8778 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 18:09:32 +00:00
Misha Brukman
e97fbed83a
* Ordered includes according to LLVM style
...
* Put function signatures on one line if possible
* Deleted empty comment lines (^//$)
* Deleted braces around single statements
* Deleted space between function call and argument list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8775 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 17:59:25 +00:00
Misha Brukman
61087cc023
Made code more terse:
...
* Deleted empty comment lines
* No single begin-braces '{' on a line by themselves
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8773 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 17:51:20 +00:00
Misha Brukman
1c53405b68
Doxygen-ified function comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8771 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 17:42:57 +00:00
Misha Brukman
b6b28431d1
Removed extra space in comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8770 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 17:40:12 +00:00
Chris Lattner
238cf3c875
Remove initials from source file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8769 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 17:36:51 +00:00
Misha Brukman
bb5a4d0ec0
Make code more terse:
...
* Remove extra blank lines
* Delete space between function call and arg list
* Delete non-content comment lines ("//")
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8768 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 17:33:12 +00:00
Brian Gaeke
e98ddfce7e
1. Use better error messages in LinkFiles().
...
2. I think the caller of LinkFiles() should not ignore a true return value.
(If you have a good reason why it ought to, feel free to revert
this. It's just something that's been bugging me for a while.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8760 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 14:03:48 +00:00
Chris Lattner
a58d2be76f
Update file headers for renamed files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8758 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 03:24:28 +00:00
Misha Brukman
4148556a9c
Use the newly abstracted interface for running our tools and gcc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 22:40:52 +00:00
Misha Brukman
9558c6af7b
Implementation of the abstraction of running our tools + gcc, taken out of
...
bugpoint for general usage and enjoyment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8754 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 22:39:25 +00:00
Misha Brukman
29afb64d5b
Abstracted away the process of running our tools + gcc from bugpoint.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8753 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 22:38:57 +00:00
Misha Brukman
2e1fbdd267
* Added an interface for how LLEE would communicate with the OS
...
* Implemented the interface in StorageProxy.c
* Removed the script `llee' as it is now created by the Makefile
* Makefile now compiles a shared object version of the library, but only if
using gcc-3.3, linking fails under gcc-3.2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8751 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 22:37:00 +00:00
Misha Brukman
e676313966
Tersified code:
...
* Removed space between function name and its argument list
* Removed space between '&' and variable name
* Removed empty comment lines: `//'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8750 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 22:26:24 +00:00
Misha Brukman
17dc4ce5a7
* Ordered includes according to LLVM programmers' guide
...
* Made code layout more verbose: no more '{' on a line by itself
* Pruned extra whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8748 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-29 22:16:43 +00:00
Misha Brukman
00ce84066f
Squelch warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8729 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-27 22:26:37 +00:00
Misha Brukman
3d8a54d00c
To be consistent with the rest of LLVM codebase (and the rest of this file):
...
* Changed tabs to spaces
* Removed a space between a function call and its arguments (...)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8712 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-25 18:10:34 +00:00
Misha Brukman
8d2ff13149
Squelch warning and delete extra space.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8685 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-23 17:27:02 +00:00
Chris Lattner
6e271236a5
Minor cleanups:
...
* Local header file goes at top
* Remove unneeded #includes
* Wrap code at 80 columns
* Declare variables where they are used
* 'register' is not needed
* Use 'unsigned' instead of 'int' variables where possible
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8657 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-22 20:21:34 +00:00
Chris Lattner
75ebab89ff
Now that the TCE pass passes all of the tests, add it to GCCAS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8621 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-20 05:26:22 +00:00
Chris Lattner
bb37a69bfc
Fix file header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8613 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-20 02:42:54 +00:00
John Criswell
f430434e8d
New header file for gccld.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8610 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-19 20:24:40 +00:00
John Criswell
71478b7f72
Removed linking functionality from gccld.cpp and moved it to linker.cpp.
...
Renamed functions that were all lower-case.
Moved functions from util.cpp into linker.cpp or gccld.cpp.
Removed util.h and created gccld.h.
Refactored the linker functionality in linker.cpp so that it is easier to
follow, easier to modify, and it's library/object file search behavior is
easier to understand and document.
Added code to include library paths when doing native linking, but this
causes problems and is currently #ifdef'd out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8609 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-19 20:24:23 +00:00
John Criswell
dc0de4f07b
Refactored gccld into three C++ source files.
...
Added code ignore bytecode link failures when generating native code.
Moved native code and bytecode generation out of the main() function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8595 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 16:22:26 +00:00
John Criswell
a589d31faa
Replaced the call to strdup() with a new operator followed by a strcpy().
...
This should prevent calls to the new oerator and malloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8587 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 19:14:41 +00:00
John Criswell
83ca6ec8a3
Added the use of the const keyword.
...
Have gccld find the path to llc and gcc instead of having the library do it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8586 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 19:04:22 +00:00
John Criswell
621727c29e
Removed the use of the environ variable and instead use the environment array
...
passed into main(). This may (or may not) be more portable, but it looks
nicer.
Added functions to copy the environment array and modify the copy, thus
preserving the environment.
Switched from using system() to using ExecWait().
The code now removes the assembly file generated when using the -native option.
Fixed the remove_env() function: The previous revision truncated the
environment variable list. This version just zaps the variable as intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8579 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 15:20:51 +00:00
Chris Lattner
79f03d350e
Use new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8573 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 05:00:07 +00:00
John Criswell
dabaf7de39
Added the -native option.
...
With this option, gccld links the program into LLVM bytecode and a native code
binary. This allows llvmgcc to correctly tell GNU configure scripts when
things aren't defined properly (because the native link will fail).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8570 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 21:27:35 +00:00
Misha Brukman
c679d7e88f
link' is now
llvm-link'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8556 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:21:52 +00:00
Misha Brukman
64899a4fb9
link' has become
llvm-link'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8555 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:21:21 +00:00
Misha Brukman
3ef3beb1d7
link' is being renamed to
llvm-link'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8541 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 18:34:34 +00:00
Misha Brukman
8248f11d26
Stop building as' and
dis' as they have been removed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8529 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 14:45:00 +00:00
Misha Brukman
e3d4e4458d
`dis' is no longer an LLVM tool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8528 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 14:44:22 +00:00
Misha Brukman
998b673a26
`as' is no longer an LLVM tool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8527 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 14:44:05 +00:00
Chris Lattner
f7c7f5abf8
Enable the setjmp/longjmp lowering pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8521 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 04:56:44 +00:00
Tanya Lattner
dd8067f4fd
Added llvm-ar to the Makefile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8506 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-13 03:23:46 +00:00
Tanya Lattner
e3df92e9c1
Fixed warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8505 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-13 03:18:56 +00:00
Misha Brukman
67b36e4a2f
Bugpoint has the ability of generating a plethora of core files, so to
...
avoid filling up the disk, set the max core file size to 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8503 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-12 20:42:57 +00:00
Chris Lattner
b3e8fe4221
scalarrepl now includes mem2reg
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8472 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-11 16:46:10 +00:00
Chris Lattner
473205250d
Move the -indvars pass much later to where it is more likely to do good stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8470 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-11 16:34:07 +00:00
Brian Gaeke
d1a85a744c
Check in the fix I meant to apply here, but mistakenly applied to
...
tools/extract instead..... heh
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10 21:11:42 +00:00
Chris Lattner
2148bcb7e3
Clean up header, remove extra #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10 19:42:51 +00:00
Brian Gaeke
053134a1ee
Make createVerifierPass return a FunctionPass *.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8449 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10 19:37:04 +00:00
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