Brian Gaeke
068b4596d4
Great renaming part II: Sparc --> SparcV9 (also includes command-line options and Makefiles)
...
llvm-svn: 11827
2004-02-25 19:08:12 +00:00
Alkis Evlogimenos
d140e3d4ff
Include Config/config.h for SHLIBEXT.
...
llvm-svn: 11779
2004-02-23 22:42:51 +00:00
Chris Lattner
3aee2f04d9
If bugpoint can't match the reference output, at LEAST provide the output
...
we can get.
llvm-svn: 11653
2004-02-20 06:12:58 +00:00
Chris Lattner
f44220efcf
Wild and passionate uncontrolled goose chases are amusing to watch, but not
...
very helpful. Let bugpoint favor being helpful instead of determined.
llvm-svn: 11652
2004-02-20 05:58:58 +00:00
Chris Lattner
f98cc27056
Format a bit more nicely
...
llvm-svn: 11651
2004-02-20 05:56:48 +00:00
Chris Lattner
56bfdecbdf
Make sure to print a stack trace whenever an error signal is delivered
...
to the tool.
llvm-svn: 11634
2004-02-19 20:33:00 +00:00
Chris Lattner
69e896bdcf
Make sure to print a stack trace whenever an error signal is delivered to
...
the tool.
llvm-svn: 11633
2004-02-19 20:32:39 +00:00
Chris Lattner
12439ffbac
Make sure to print a stack trace whenever an error signal is delivered to the
...
tool.
llvm-svn: 11632
2004-02-19 20:32:12 +00:00
Chris Lattner
5e9868a77b
Be a bit more robust. Explicitly check for a code generator crash.
...
llvm-svn: 11624
2004-02-19 17:03:49 +00:00
Alkis Evlogimenos
3562c2dd9f
Make ToolExecutionError inherit std::exception and implement its
...
interface: getMessage() is gone, use what() instead.
llvm-svn: 11621
2004-02-19 07:39:26 +00:00
Chris Lattner
94b2bfb447
Fix the "horribly N^2'd" problem when deleting individual instructions.
...
llvm-svn: 11617
2004-02-18 23:59:11 +00:00
Chris Lattner
8bda4c4901
* Predicate the optimizer crash debugger on a function.
...
* Implement a new code generator crash debugger which uses this predicate
llvm-svn: 11614
2004-02-18 23:26:28 +00:00
Chris Lattner
96d41dd438
Add a new method for use by the code generator crash debugger.
...
llvm-svn: 11613
2004-02-18 23:25:22 +00:00
Chris Lattner
36d48a3728
Don't crash if there are no passes in the PassesToRun list
...
llvm-svn: 11612
2004-02-18 23:24:56 +00:00
Chris Lattner
1f80a927d4
Make the executeProgram method exception safe, not leaving around bytecode
...
files.
llvm-svn: 11607
2004-02-18 22:01:21 +00:00
Chris Lattner
b943b6b019
Make more stuff public. Make the instruction argument to
...
deleteInstructionFromProgram be const
llvm-svn: 11606
2004-02-18 21:50:26 +00:00
Chris Lattner
2fd76cfb69
make a bunch of methods public
...
llvm-svn: 11605
2004-02-18 21:35:28 +00:00
Chris Lattner
1942f98d80
A couple of minor cleanups: don't forward declare private classes, put private
...
classes in an anon namespace
llvm-svn: 11604
2004-02-18 21:29:46 +00:00
Chris Lattner
327019b495
Cleanup and simplify manipulation of the program, eliminate the need for so
...
many 'friends' of bugdriver.
llvm-svn: 11603
2004-02-18 21:24:48 +00:00
Chris Lattner
ead1dff00b
Add a stub for debugging code generator crashes
...
llvm-svn: 11602
2004-02-18 21:02:04 +00:00
Chris Lattner
898de4a158
Update comments, if we are running with the CBE, make sure the Interpreter
...
variable and the CBE variable are pointer equal.
llvm-svn: 11599
2004-02-18 20:52:02 +00:00
Chris Lattner
61dc9419e0
ctor arguments changed order
...
llvm-svn: 11595
2004-02-18 20:22:25 +00:00
Chris Lattner
947143df0e
Catch exception and print message as appropriate
...
llvm-svn: 11594
2004-02-18 20:22:11 +00:00
Chris Lattner
eb89dbada8
Bugpoint will be throwing exceptions soon, perpare for the worst.
...
llvm-svn: 11584
2004-02-18 17:32:54 +00:00
Chris Lattner
d69c7bdc74
This class got moved to FileUtilities.h
...
llvm-svn: 11583
2004-02-18 17:17:10 +00:00
Chris Lattner
3b203f56bc
Give extract -o and -f options, just like every other tool!
...
llvm-svn: 11580
2004-02-18 16:53:59 +00:00
Chris Lattner
6e540af8f7
The CBE is now in llc, not llvm-dis
...
llvm-svn: 11534
2004-02-17 06:40:51 +00:00
Chris Lattner
5df6d8de9b
When the user runs 'llc foo.bc -march=c', write the output to "foo.cbe.c", not
...
to "foo.s".
llvm-svn: 11485
2004-02-15 22:54:19 +00:00
Misha Brukman
7c437d3226
Break a line that's over 80cols into two.
...
llvm-svn: 11423
2004-02-13 23:46:47 +00:00
Chris Lattner
c5a4641c21
Do not advertise our -c option anymore
...
llvm-svn: 11413
2004-02-13 23:24:46 +00:00
Chris Lattner
92849b7dc9
Mercilessly rip the cbackend out of llvm-dis. Leave a helpful error message
...
for those who have not heard the news.
llvm-svn: 11412
2004-02-13 23:22:40 +00:00
Chris Lattner
3fba9dc096
Add support for -march=c
...
llvm-svn: 11410
2004-02-13 23:19:09 +00:00
Chris Lattner
9fae109121
Change how we create the cwriter, and add a buttload of libraries that it now
...
needs. This will be fixed shortly
llvm-svn: 11407
2004-02-13 23:01:14 +00:00
Brian Gaeke
35145beb61
Add check-exit-code option, defaulting to true.
...
Add ProgramExitedNonzero argument to executeProgram(), and make it
tell its caller whether the program exited nonzero.
Move executeProgramWithCBE() out of line, to ExecutionDriver.cpp, and remove
its extra arguments which are always defaulted. Make it turn off
check-exit-code if the program exits nonzero while generating a reference
output.
Make diffProgram() assume that any nonzero exit code is a failure, if
check-exit-code is turned on.
llvm-svn: 11325
2004-02-11 18:37:32 +00:00
Chris Lattner
1dec4a1eda
Factor profile information loading OUT of llvm-prof into libanalysis
...
llvm-svn: 11316
2004-02-11 05:56:07 +00:00
Brian Gaeke
d97d8faa17
Fix indentation of selectiondag.
...
I don't know why its indentation has been bugging me, but it has.
llvm-svn: 11180
2004-02-08 05:49:29 +00:00
Chris Lattner
8c146638b6
Minor change to breakpoint (lack of) support
...
llvm-svn: 11169
2004-02-08 00:06:20 +00:00
Brian Gaeke
57b8ef2693
Add a -march=powerpc option. Automatically select it if this looks like a
...
big-endian, 32-bit module, or if __ppc__, __POWERPC__, or __APPLE__ are
defined.
llvm-svn: 11075
2004-02-02 19:06:12 +00:00
Brian Gaeke
53f4c48393
Link in the PowerPC back-end.
...
llvm-svn: 11074
2004-02-02 19:05:52 +00:00
Chris Lattner
eddfe437c7
Now that tailduplication does not bork SSA form, run mem2reg earlier in gccas.
...
This tremendously improves the code generated by the LLVM optimizer, primarily
by making the inliner more aggressive. For example, it improves the stepanov
benchmark from 55.56 mega-additions/sec to 98.04 Ma/s. It also improves the
oopack/iterator benchmark from 338.3MFLOPS/s to 1103.4MFLOPS/s. Less noteworthy,
it improves oopack/matrix from 573 -> 641 MFLOPS/s.
llvm-svn: 11053
2004-02-01 07:24:53 +00:00
John Criswell
36eebb51f2
Fixed PR#197. The libcrtend library is removed from the library linking list
...
when creating native executables.
llvm-svn: 10979
2004-01-26 23:51:10 +00:00
John Criswell
e6a41815f3
Fixes for PR214. Use the SHLIBEXT variable instead of hardcoding .so into
...
every file.
llvm-svn: 10976
2004-01-26 20:59:41 +00:00
Chris Lattner
298d2f090f
Make sure to verify the result before writing out the bytecode file. Not doing
...
so can cause obscure errors downstream.
llvm-svn: 10840
2004-01-14 03:39:46 +00:00
Chris Lattner
2f1aa118a4
finegrainify namespacification
...
llvm-svn: 10839
2004-01-14 03:38:37 +00:00
Chris Lattner
03cbd1ab79
Remove standard C header wrappers
...
llvm-svn: 10748
2004-01-10 19:15:38 +00:00
Chris Lattner
56ca6b810a
Remove wrappers around std c files
...
llvm-svn: 10744
2004-01-10 19:12:09 +00:00
Chris Lattner
bd2977be1a
Ugh, fix some copy and pasted code that somehow never got compiled or something
...
:(
llvm-svn: 10706
2004-01-06 23:46:17 +00:00
Chris Lattner
fa13e8ab3e
* Implement set/show args
...
* Implement support for arguments to the 'run' command
* Minor cleanups and fixes
llvm-svn: 10703
2004-01-06 05:37:16 +00:00
Chris Lattner
5a62886928
implement the "null command" which repeats the last command
...
llvm-svn: 10702
2004-01-06 05:36:30 +00:00
Chris Lattner
dc24ced2ee
/me slaps head
...
llvm-svn: 10694
2004-01-05 05:47:19 +00:00
Chris Lattner
144992ea30
Add new directory
...
llvm-svn: 10688
2004-01-05 05:28:15 +00:00
Chris Lattner
0a903c38d7
Initial checkin of the LLVM Source-Level Debugger. This is incomplete, but
...
a good start. The status is documented in docs/SourceLevelDebugging.html
llvm-svn: 10687
2004-01-05 05:27:31 +00:00
Chris Lattner
238298acaf
Remove some pointless #includes
...
llvm-svn: 10653
2003-12-30 07:50:31 +00:00
Chris Lattner
c8cbec2cbb
Use getFileSize() instead of sys/stat.h directly
...
llvm-svn: 10652
2003-12-30 07:48:17 +00:00
Chris Lattner
ce8781cd67
Use new getFileSize function. Eliminate some using directives. Reorder #includes a bit
...
llvm-svn: 10651
2003-12-30 07:45:46 +00:00
Chris Lattner
cf1755a6f3
Add a -disable-opt flag to gccas, so that we can use -Wa,-disable-opt just
...
like -Wl,-disable-opt
llvm-svn: 10647
2003-12-30 03:24:27 +00:00
Chris Lattner
dabec3ba96
Pass extra arguments around n stuph
...
llvm-svn: 10631
2003-12-28 09:51:04 +00:00
Chris Lattner
99958ce7bb
Factor out code to ExecutionEngine
...
llvm-svn: 10614
2003-12-26 06:49:53 +00:00
Chris Lattner
e005b754f3
Simplify code
...
llvm-svn: 10613
2003-12-26 06:36:20 +00:00
Chris Lattner
079f4d5e71
* eliminate the -f argument to lli, as it was silly and never useful anyway
...
* Inline callMain function
* Remove hack from the ExecutionEngines where the 'run' method would automatically
run atExit functions. Fixing this requires explicitly calling exit if main returns
llvm-svn: 10611
2003-12-26 06:14:47 +00:00
Chris Lattner
141ea3a052
update comment
...
llvm-svn: 10607
2003-12-26 05:07:35 +00:00
John Criswell
80ce0e620e
Modified the logic so that library objects with main() are only linked in
...
if the program currently has main undefined.
llvm-svn: 10597
2003-12-23 20:27:14 +00:00
John Criswell
b6d3cb9449
Modified the linker so that it always links in an object from an archive
...
that defines the symbol "main." This is a hack that ensures that programs
that place their main function in a library and then link it in
(i.e. Apache 2.x) get their main function linked in.
There is probably a more correct way to do this, but this works for now.
llvm-svn: 10594
2003-12-23 17:37:06 +00:00
Chris Lattner
bd03ac8567
Rename method
...
llvm-svn: 10593
2003-12-23 09:41:45 +00:00
Chris Lattner
e5ac39d664
There is no reason to add -load support to LLC
...
llvm-svn: 10483
2003-12-15 23:10:25 +00:00
Brian Gaeke
1f147379b7
Add an assertion to make sure we are at least getting argv[0] right.
...
Use a clearer error message when we fail to load a program.
llvm-svn: 10414
2003-12-12 00:47:19 +00:00
Chris Lattner
ed9fc4baad
Run tailcall elimination in a more logical place
...
llvm-svn: 10402
2003-12-11 17:50:32 +00:00
Chris Lattner
98cd4bf06f
Make 'opt -o -' work correctly instead of creating a file named './-'
...
llvm-svn: 10359
2003-12-10 14:41:33 +00:00
John Criswell
7dd715180d
Added the -h option for compatibility with other linkers.
...
llvm-svn: 10335
2003-12-09 15:39:11 +00:00
Chris Lattner
69d47e7314
Bugpoint had appalingly bad grammar. Fix some of it.
...
llvm-svn: 10308
2003-12-07 02:43:09 +00:00
Chris Lattner
233b069113
Do not leave a bunch of crud lying around
...
llvm-svn: 10307
2003-12-07 02:31:03 +00:00
Chris Lattner
b762ddbdf1
It is now after pldi. This issue has been fixed, so remove the hack
...
llvm-svn: 10306
2003-12-07 01:44:18 +00:00
Tanya Lattner
c970a38824
New command line parsing. This isn't as perfect as I would have liked. The CommandLine Library needs to be extended, in order to parse the options and allow for optional dashes. In addition, the help option isn't correct since I do the parsing mostly myself. But this is in the ocorrect ar format.
...
llvm-svn: 10297
2003-12-06 23:01:25 +00:00
Chris Lattner
58efc9e0fe
be 3.4 happy
...
llvm-svn: 10265
2003-11-29 20:04:13 +00:00
Chris Lattner
982b285232
Fix compatibility with gcc 3.4
...
llvm-svn: 10262
2003-11-29 19:45:47 +00:00
Chris Lattner
8abd7dca76
The function resolving pass must be run, even if -disable-opt is specified
...
llvm-svn: 10250
2003-11-28 09:44:03 +00:00
Chris Lattner
fcaa6fbbd8
* The return value of LinkLibraries is ignored, so remove it.
...
* Finegrainify namespacification of Linker.cpp
* If linking a library in fails, do not STOP LINKING IN LIBRARIES AND
CONTINUE ANYWAY! Instead, just output the warning, and keep going. :)
llvm-svn: 10249
2003-11-28 07:44:09 +00:00
Misha Brukman
c10bf39a7d
I'm gonna be picky and say we don't really need that trailing slash "lib/"
...
llvm-svn: 10196
2003-11-24 05:31:57 +00:00
Misha Brukman
44a562bba6
Make sure we ONLY add a `-load' switch to the JIT command line if the file is
...
verified as having an ELF header. This fixes PR151.
llvm-svn: 10195
2003-11-24 05:29:42 +00:00
Chris Lattner
3f1ad878ac
Do not DESTROY programs by default. No wonder bugpoint was not being useful all this time!
...
llvm-svn: 10175
2003-11-23 04:51:05 +00:00
Chris Lattner
db8a179838
Revert the previous patch since it causes lots of miscompilations. :( :(
...
llvm-svn: 10172
2003-11-22 19:07:47 +00:00
Chris Lattner
7b233af247
Do not crash when dealing with invoke and unwind instructions!
...
llvm-svn: 10160
2003-11-22 02:10:38 +00:00
Chris Lattner
1e6089c2d6
Use new interfaces
...
llvm-svn: 10159
2003-11-22 02:10:26 +00:00
Chris Lattner
52b4fb3fde
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.
llvm-svn: 10134
2003-11-21 21:44:35 +00:00
Misha Brukman
1df12628a0
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.
llvm-svn: 10114
2003-11-20 19:08:42 +00:00
Misha Brukman
c0e6157f99
Add ability to search only for native shared object, and expose the
...
functionality to the rest of gccld.
llvm-svn: 10113
2003-11-20 19:08:06 +00:00
Misha Brukman
aa525937c7
For consistency, removed space between function name and left paren in function
...
call, i.e. [ addPass (...) ] => [ addPass(...) ]
llvm-svn: 10105
2003-11-20 06:26:15 +00:00
Misha Brukman
d16a03727b
* Doxygenified comments, simplifying them and shortening in the process
...
* Eliminated extra space
llvm-svn: 10104
2003-11-20 06:21:54 +00:00
Brian Gaeke
d2553359a8
Unbreak the "-" as filename hack.
...
llvm-svn: 10099
2003-11-19 22:15:00 +00:00
Brian Gaeke
618026afb2
Also print an error msg. for files we cannot currently deal with.
...
llvm-svn: 10097
2003-11-19 21:57:30 +00:00
Brian Gaeke
55447b4541
Fix PR134, by checking FileOpenable() on each input file before analyzing its
...
type.
llvm-svn: 10096
2003-11-19 21:52:09 +00:00
Brian Gaeke
747777795f
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.
llvm-svn: 10044
2003-11-16 23:34:13 +00:00
Brian Gaeke
eb3de8f39a
Add a -verify option to verify the results of gccld passes.
...
Add a -disable-opt option to turn off gccld optimization passes.
llvm-svn: 10040
2003-11-16 23:07:28 +00:00
Brian Gaeke
7ff0d09adc
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.
llvm-svn: 10039
2003-11-16 23:07:13 +00:00
Chris Lattner
093cc6dc92
As the comments indicate, this is a temporary, repulsive, hack
...
llvm-svn: 9982
2003-11-13 19:26:54 +00:00
Chris Lattner
7cb5070672
Restore the -llvm option
...
llvm-svn: 9915
2003-11-12 04:59:59 +00:00
Brian Gaeke
960707c335
Put all LLVM code into the llvm namespace, as per bug 109.
...
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Brian Gaeke
da3f675edd
Move IsArchive, IsBytecode to FileUtilities. Fix up some method comments.
...
llvm-svn: 9902
2003-11-11 21:54:01 +00:00
Misha Brukman
895b12faff
'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).
llvm-svn: 9894
2003-11-11 18:38:56 +00:00
Brian Gaeke
ec21f8e9bf
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.
llvm-svn: 9893
2003-11-11 18:27:37 +00:00
Misha Brukman
8bbd8c2689
The caching will not live in LLEE's execve() handler; that's suboptimal.
...
llvm-svn: 9890
2003-11-11 18:23:09 +00:00
Chris Lattner
b2d575769b
Give gccld more guts
...
llvm-svn: 9835
2003-11-09 19:55:09 +00:00
Chris Lattner
7985d3664d
Add new command line option
...
llvm-svn: 9754
2003-11-06 20:29:25 +00:00
Brian Gaeke
6f54518e08
Give this header file an Emacs mode-line.
...
llvm-svn: 9749
2003-11-05 22:13:10 +00:00
Brian Gaeke
1d9515b0a1
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.
llvm-svn: 9748
2003-11-05 22:13:00 +00:00
Brian Gaeke
31af708ef6
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.
llvm-svn: 9747
2003-11-05 22:12:52 +00:00
Chris Lattner
2920100e4d
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).
llvm-svn: 9743
2003-11-05 21:45:35 +00:00
Chris Lattner
debac38f5e
Simplify the performFinalCleanups interface
...
llvm-svn: 9740
2003-11-05 21:15:19 +00:00
Chris Lattner
c17fe1cdfe
Make -r work, fixing PR 91
...
llvm-svn: 9724
2003-11-05 06:05:21 +00:00
Chris Lattner
cbf2aeb684
If linking a library, do not link other libraries, like libc, into it!
...
This fixes lots of annoying warnings and error messages
llvm-svn: 9677
2003-11-03 17:27:17 +00:00
Chris Lattner
9061d70325
never print zero executions blocks
...
llvm-svn: 9626
2003-10-31 00:34:05 +00:00
Chris Lattner
a36f81a3ea
Simplify code
...
llvm-svn: 9625
2003-10-31 00:20:09 +00:00
Chris Lattner
34e1549e1b
Add percentage info
...
llvm-svn: 9624
2003-10-31 00:13:26 +00:00
Chris Lattner
0575f97e4b
Hrm, some of my counters are wrapping around 32 bits
...
llvm-svn: 9623
2003-10-31 00:06:57 +00:00
Chris Lattner
babc99cf80
If only have function profile, don't print out "not executed" for all of the blocks :)
...
llvm-svn: 9622
2003-10-30 23:44:28 +00:00
Chris Lattner
2a5767e4f1
Add the ability to print out llvm code when the -annotated-llvm option is given
...
llvm-svn: 9621
2003-10-30 23:42:09 +00:00
Chris Lattner
a79d2b54d2
Add the ability to synthesize function counts from block count information
...
llvm-svn: 9595
2003-10-29 21:47:44 +00:00
Chris Lattner
e4fb19033e
Print the top 20 most frequently executed blocks. Fix sort predicate problem
...
llvm-svn: 9594
2003-10-29 21:41:17 +00:00
Chris Lattner
c88f7bb317
Cleanup output a bit
...
llvm-svn: 9567
2003-10-28 22:53:49 +00:00
Chris Lattner
5564406f6e
Add the ability for users to specify a specific argv[0] to pass into the
...
program
llvm-svn: 9565
2003-10-28 22:51:44 +00:00
Chris Lattner
2343a0eed2
Print out command lines used to run the programs
...
llvm-svn: 9562
2003-10-28 22:30:37 +00:00
Brian Gaeke
8fb7af1ee7
Fix extract to use the right TargetData, like Bugpoint does.
...
llvm-svn: 9561
2003-10-28 22:22:16 +00:00
Chris Lattner
2091cc4310
Add support for reading block frequencies. Fix bug in attribution of counts
...
to functions
llvm-svn: 9559
2003-10-28 21:25:23 +00:00
Chris Lattner
8b8a777e41
Provide an accessor for getting function count information. Print a simple
...
report
llvm-svn: 9557
2003-10-28 21:08:18 +00:00
Chris Lattner
fc8bd0622f
Read in the bytecode and profile information, but don't do anything with
...
it yet.
llvm-svn: 9556
2003-10-28 20:13:07 +00:00
Chris Lattner
f6c89c91ae
Build the llvm-prof directory
...
llvm-svn: 9552
2003-10-28 19:16:49 +00:00
Chris Lattner
14b392fdea
Initial checkin of llvmprof stub
...
llvm-svn: 9551
2003-10-28 19:16:35 +00:00
Chris Lattner
3c0254e47e
Reorder #includes, drop unneeded one
...
llvm-svn: 9548
2003-10-28 19:08:15 +00:00
Chris Lattner
4f50ebda32
Do not print out lists with thousands of elements in them, that's kinda silly
...
llvm-svn: 9523
2003-10-27 04:44:59 +00:00
Brian Gaeke
055148bdc1
TraceMode, as you may have heard, is history.
...
ExecutionEngine::create no longer takes a TraceMode argument.
llvm-svn: 9495
2003-10-24 20:00:17 +00:00
Brian Gaeke
275811125d
lli -q is history. Rebuild your gccld shell scripts, folks!
...
llvm-svn: 9494
2003-10-24 20:00:06 +00:00
Chris Lattner
b1e8187c31
Turn on the inliner by default at link-time
...
llvm-svn: 9477
2003-10-24 18:09:23 +00:00
Chris Lattner
95ee0b0288
Turn on the IPCP pass by default. It has passed all of the tests
...
llvm-svn: 9435
2003-10-23 18:25:57 +00:00
Chris Lattner
f3e8f97d7e
Fix an assertion failure in Bugpoint
...
llvm-svn: 9406
2003-10-23 15:42:55 +00:00
Chris Lattner
638b5374d8
Delete the -print-cfg pass from this file
...
llvm-svn: 9372
2003-10-22 16:02:58 +00:00
Chris Lattner
f1a80fc54e
New library needed
...
llvm-svn: 9364
2003-10-22 03:40:33 +00:00
Brian Gaeke
9e10b9a96f
Fix off-by-one error in processing of libraries named on command line.
...
llvm-svn: 9351
2003-10-21 21:07:12 +00:00
Brian Gaeke
9a0bdb1aca
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.
llvm-svn: 9337
2003-10-21 17:41:35 +00:00
John Criswell
abe5cdcf21
Added LLVM copyright to Makefiles.
...
llvm-svn: 9314
2003-10-20 22:29:16 +00:00
John Criswell
567fe2f312
Removed extraneous comment line.
...
llvm-svn: 9308
2003-10-20 20:40:30 +00:00
Misha Brukman
098cafd62b
Made error message more comprehensible.
...
llvm-svn: 9299
2003-10-20 19:43:47 +00:00
Chris Lattner
8f71f04961
fix file header
...
llvm-svn: 9294
2003-10-20 17:58:43 +00:00
Chris Lattner
ebec8030d6
fix file headers
...
llvm-svn: 9293
2003-10-20 17:57:13 +00:00
Chris Lattner
22feb17ea4
Fix file header
...
llvm-svn: 9292
2003-10-20 17:52:11 +00:00
John Criswell
09344dcf97
Added copyright header to all C++ source files.
...
llvm-svn: 9291
2003-10-20 17:47:21 +00:00
Chris Lattner
4705141f28
Don't bother forwarding function references which are external to the program entirely
...
llvm-svn: 9274
2003-10-19 23:32:50 +00:00
Chris Lattner
2b97d6e7cd
Ok, return an explicit path to the shared object, unbreaking code generator
...
debugging with the JIT
llvm-svn: 9273
2003-10-19 21:54:13 +00:00
Chris Lattner
a4004f6678
Fix iterator invalidation problem
...
llvm-svn: 9272
2003-10-19 21:48:27 +00:00
Chris Lattner
a9a7c92cea
Update compile information
...
llvm-svn: 9247
2003-10-18 21:55:47 +00:00
Chris Lattner
849619e23e
Add usage blurb
...
llvm-svn: 9246
2003-10-18 21:55:35 +00:00
Chris Lattner
667ad30e5a
Print -fno-strict-aliasing as well
...
llvm-svn: 9243
2003-10-18 21:08:57 +00:00
Chris Lattner
759b9931fe
Don't leave a trail of bugpoint-execution-output-* breadcrumbs all over the place
...
llvm-svn: 9242
2003-10-18 21:02:51 +00:00
Chris Lattner
9e52550555
Change run-lli -> run-int
...
Many people associate lli with the jit, so we don't want to suprise them
llvm-svn: 9238
2003-10-18 20:30:48 +00:00
Chris Lattner
16d36a1875
Default to using the CBE instead of the Interpreter if no -run-* option is specified
...
llvm-svn: 9237
2003-10-18 20:18:20 +00:00
Chris Lattner
bb831b9cf9
If we detect a pass crash during miscompilation testing, immediately enter the
...
crash debugger
llvm-svn: 9234
2003-10-18 19:27:48 +00:00
Chris Lattner
54cbc41d05
Fix bug in my checkin
...
llvm-svn: 9217
2003-10-18 00:14:13 +00:00
Chris Lattner
ea48572a80
Another formatting fix
...
llvm-svn: 9216
2003-10-18 00:05:05 +00:00
Chris Lattner
92a9f7adc4
More cleanups
...
llvm-svn: 9215
2003-10-17 23:07:47 +00:00
Chris Lattner
7d147aec11
Be more helpful if a pass fails while chasing down a miscompilation
...
llvm-svn: 9214
2003-10-17 23:03:16 +00:00
Chris Lattner
4aae1f45b7
Make llvm-nm work in "pipe mode"
...
llvm-svn: 9172
2003-10-16 18:45:23 +00:00
Chris Lattner
06bd29b53b
Geeze, what is with Brian and these ifdef's?
...
llvm-svn: 9169
2003-10-16 18:27:24 +00:00
Chris Lattner
f4aa7404db
Welcome llvm-nm to the family
...
llvm-svn: 9161
2003-10-16 17:46:21 +00:00
Chris Lattner
3f8b7c24f6
Unfortunately, it looks like level raise is still needed :(
...
llvm-svn: 9158
2003-10-16 16:50:34 +00:00
Brian Gaeke
0af759d3af
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.... :-)
llvm-svn: 9153
2003-10-16 04:43:15 +00:00
Chris Lattner
3334c884bc
Give this file a proper header
...
llvm-svn: 9141
2003-10-15 21:49:57 +00:00
Chris Lattner
4973805acd
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.
llvm-svn: 9140
2003-10-15 21:48:38 +00:00
Brian Gaeke
adbbfebfae
Flush output after writing out the list of function names.
...
llvm-svn: 9138
2003-10-15 20:42:48 +00:00
Chris Lattner
dc92fa6473
add support forloading additional .so files on the command line
...
llvm-svn: 9131
2003-10-14 22:24:31 +00:00
Chris Lattner
3f6e522257
Change the execute methods to take the shared object filename by const reference.
...
Other adjustments to work with the new ToolRunner interfaces
llvm-svn: 9130
2003-10-14 21:59:36 +00:00
Misha Brukman
5b255e59ac
Enabling incremental bytecode loading in the JIT:
...
* Use the incremental bytecode reader interface to speed up execution
llvm-svn: 9127
2003-10-14 21:39:53 +00:00
Chris Lattner
f8a84dbff3
The return value of compileSharedObject was never used. Return the shared
...
object's name instead
llvm-svn: 9120
2003-10-14 21:09:11 +00:00
Chris Lattner
6ad91d7166
minor cleanups
...
llvm-svn: 9118
2003-10-14 21:01:51 +00:00
Chris Lattner
67cc196bf7
Fix minor formatting bug
...
llvm-svn: 9116
2003-10-14 20:55:56 +00:00
Chris Lattner
2ed0642a95
Eliminate the bugpoint -mode option, by making bugpoint automatically infer the root of all of your problems
...
llvm-svn: 9115
2003-10-14 20:52:55 +00:00
Chris Lattner
6ca0b8738a
Unbreak code generator debug mode
...
llvm-svn: 9106
2003-10-13 21:04:26 +00:00
Brian Gaeke
c4501c936f
Don't include <stdlib.h>.
...
llvm-svn: 9038
2003-10-10 19:12:45 +00:00
Brian Gaeke
2797c131ef
Don't include "Config/stdlib.h".
...
llvm-svn: 9037
2003-10-10 19:12:22 +00:00
Brian Gaeke
81d153e37f
Rewrite head-of-file comment.
...
Include <cstdio> instead of <stdio.h>.
llvm-svn: 9033
2003-10-10 18:47:08 +00:00
Chris Lattner
e01ba00b87
Add a new -disable-inlining option
...
llvm-svn: 9028
2003-10-10 18:18:53 +00:00
Misha Brukman
8b2bd4ed47
Fix spelling.
...
llvm-svn: 9027
2003-10-10 17:57:28 +00:00
Misha Brukman
d67697411a
Fix grammar.
...
llvm-svn: 9026
2003-10-10 17:56:49 +00:00
Misha Brukman
3a0677e0da
Renamed dis.cpp => llvm-dis.cpp
...
llvm-svn: 9017
2003-10-10 17:30:10 +00:00
Misha Brukman
71563f49b2
Renamed as.cpp => llvm-as.cpp; this should've happened a long time ago.
...
llvm-svn: 9016
2003-10-10 17:28:53 +00:00
Brian Gaeke
068546cf78
Make more error messages have gccld's name in them.
...
Add a newline after "Cannot find <library>".
llvm-svn: 8968
2003-10-08 19:09:30 +00:00
Chris Lattner
10bd1c2c4e
This header file moved. Thanks to Bill and Nightly tester for noticing
...
llvm-svn: 8920
2003-10-07 13:45:51 +00:00
Misha Brukman
e4edb3f3db
Doxygen-ified comments.
...
llvm-svn: 8778
2003-09-30 18:09:32 +00:00
Misha Brukman
21663634c5
* 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
llvm-svn: 8775
2003-09-30 17:59:25 +00:00
Misha Brukman
143af9cf13
Made code more terse:
...
* Deleted empty comment lines
* No single begin-braces '{' on a line by themselves
llvm-svn: 8773
2003-09-30 17:51:20 +00:00
Misha Brukman
33b9647a45
Doxygen-ified function comments.
...
llvm-svn: 8771
2003-09-30 17:42:57 +00:00
Misha Brukman
af3b3bdf6d
Removed extra space in comments.
...
llvm-svn: 8770
2003-09-30 17:40:12 +00:00
Chris Lattner
f5f4cbb055
Remove initials from source file
...
llvm-svn: 8769
2003-09-30 17:36:51 +00:00
Misha Brukman
a307080d60
Make code more terse:
...
* Remove extra blank lines
* Delete space between function call and arg list
* Delete non-content comment lines ("//")
llvm-svn: 8768
2003-09-30 17:33:12 +00:00
Brian Gaeke
484f2c7442
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.)
llvm-svn: 8760
2003-09-30 14:03:48 +00:00
Chris Lattner
cc83d5f3e2
Update file headers for renamed files.
...
llvm-svn: 8758
2003-09-30 03:24:28 +00:00
Misha Brukman
5bc6a8fa38
Use the newly abstracted interface for running our tools and gcc.
...
llvm-svn: 8756
2003-09-29 22:40:52 +00:00
Misha Brukman
64adfee893
* 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
llvm-svn: 8751
2003-09-29 22:37:00 +00:00
Misha Brukman
b3541d4264
Tersified code:
...
* Removed space between function name and its argument list
* Removed space between '&' and variable name
* Removed empty comment lines: `//'
llvm-svn: 8750
2003-09-29 22:26:24 +00:00
Misha Brukman
0575c6c432
* Ordered includes according to LLVM programmers' guide
...
* Made code layout more verbose: no more '{' on a line by itself
* Pruned extra whitespace
llvm-svn: 8748
2003-09-29 22:16:43 +00:00
Misha Brukman
f75d52eceb
Squelch warnings.
...
llvm-svn: 8729
2003-09-27 22:26:37 +00:00
Misha Brukman
c2186e3110
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 (...)
llvm-svn: 8712
2003-09-25 18:10:34 +00:00
Misha Brukman
08993c8068
Squelch warning and delete extra space.
...
llvm-svn: 8685
2003-09-23 17:27:02 +00:00
Chris Lattner
65d93e208b
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
llvm-svn: 8657
2003-09-22 20:21:34 +00:00
Chris Lattner
25963c85e3
Now that the TCE pass passes all of the tests, add it to GCCAS
...
llvm-svn: 8621
2003-09-20 05:26:22 +00:00
Chris Lattner
825937df8e
Fix file header
...
llvm-svn: 8613
2003-09-20 02:42:54 +00:00
John Criswell
17c3d4dfc1
New header file for gccld.
...
llvm-svn: 8610
2003-09-19 20:24:40 +00:00
John Criswell
b533bde540
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.
llvm-svn: 8609
2003-09-19 20:24:23 +00:00
John Criswell
8ecc30249f
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.
llvm-svn: 8595
2003-09-18 16:22:26 +00:00
John Criswell
a2748c267b
Replaced the call to strdup() with a new operator followed by a strcpy().
...
This should prevent calls to the new oerator and malloc.
llvm-svn: 8587
2003-09-17 19:14:41 +00:00
John Criswell
0217b1beb3
Added the use of the const keyword.
...
Have gccld find the path to llc and gcc instead of having the library do it.
llvm-svn: 8586
2003-09-17 19:04:22 +00:00
John Criswell
f22d845bd7
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.
llvm-svn: 8579
2003-09-17 15:20:51 +00:00
Chris Lattner
8552e7c6df
Use new method
...
llvm-svn: 8573
2003-09-17 05:00:07 +00:00
John Criswell
1997a34e26
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).
llvm-svn: 8570
2003-09-16 21:27:35 +00:00
Misha Brukman
c6547505e6
`link' is now `llvm-link'.
...
llvm-svn: 8556
2003-09-16 15:21:52 +00:00
Misha Brukman
df8eee614c
`link' has become `llvm-link'.
...
llvm-svn: 8555
2003-09-16 15:21:21 +00:00
Misha Brukman
cf0c744c42
`link' is being renamed to `llvm-link'.
...
llvm-svn: 8541
2003-09-15 18:34:34 +00:00
Misha Brukman
d5cc6bf0dc
Stop building `as' and `dis' as they have been removed.
...
llvm-svn: 8529
2003-09-15 14:45:00 +00:00
Misha Brukman
5135afaa5a
`dis' is no longer an LLVM tool.
...
llvm-svn: 8528
2003-09-15 14:44:22 +00:00
Misha Brukman
9f0ab6b5db
`as' is no longer an LLVM tool.
...
llvm-svn: 8527
2003-09-15 14:44:05 +00:00
Chris Lattner
cf82b00eb5
Enable the setjmp/longjmp lowering pass
...
llvm-svn: 8521
2003-09-15 04:56:44 +00:00
Tanya Lattner
a3be0508d5
Added llvm-ar to the Makefile
...
llvm-svn: 8506
2003-09-13 03:23:46 +00:00
Tanya Lattner
124ddeff3c
Fixed warning.
...
llvm-svn: 8505
2003-09-13 03:18:56 +00:00
Misha Brukman
46e18d437e
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.
llvm-svn: 8503
2003-09-12 20:42:57 +00:00
Chris Lattner
23ff5c1ccb
scalarrepl now includes mem2reg
...
llvm-svn: 8472
2003-09-11 16:46:10 +00:00
Chris Lattner
2f6de8b335
Move the -indvars pass much later to where it is more likely to do good stuff
...
llvm-svn: 8470
2003-09-11 16:34:07 +00:00
Brian Gaeke
ef4327037a
Check in the fix I meant to apply here, but mistakenly applied to
...
tools/extract instead..... heh
llvm-svn: 8464
2003-09-10 21:11:42 +00:00
Chris Lattner
6d2eab62b7
Clean up header, remove extra #include
...
llvm-svn: 8451
2003-09-10 19:42:51 +00:00
Brian Gaeke
ff713ae819
Make createVerifierPass return a FunctionPass *.
...
llvm-svn: 8449
2003-09-10 19:37:04 +00:00
Chris Lattner
ad48131254
Reorder #includes to follow LLVM conventions
...
llvm-svn: 8375
2003-09-05 20:08:15 +00:00
Brian Gaeke
e99ca44153
Interpreter, JIT moved to lib/ExecutionEngine (includes -> llvm/ExecutionEngine)
...
Build lli using executionengine library
llvm-svn: 8372
2003-09-05 19:42:34 +00:00
Brian Gaeke
28f8e41203
-abort-on-exception is gone. Rebuild your gccld shell scripts, folks! :-)
...
llvm-svn: 8368
2003-09-05 19:23:03 +00:00
Brian Gaeke
a7669038fc
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".
llvm-svn: 8366
2003-09-05 18:42:01 +00:00
Brian Gaeke
92f8b30d24
Move EE dtor where it belongs
...
llvm-svn: 8345
2003-09-04 22:57:27 +00:00
Brian Gaeke
e80e5ba7f8
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().
llvm-svn: 8344
2003-09-04 22:21:24 +00:00
Brian Gaeke
4bd3bd5b5a
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.
llvm-svn: 8343
2003-09-03 20:34:19 +00:00
John Criswell
a3ce8b48b0
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.
llvm-svn: 8328
2003-09-02 21:11:22 +00:00
John Criswell
06327da723
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.
llvm-svn: 8325
2003-09-02 20:17:20 +00:00
Chris Lattner
b42862c32d
#include is unnecessary
...
llvm-svn: 8316
2003-09-01 20:45:46 +00:00
Chris Lattner
e722930efd
Preselection is now integrated into the Sparc target library
...
llvm-svn: 8305
2003-09-01 20:30:17 +00:00
Chris Lattner
c7f87d30ab
Sparc peephole optimizer moved out of post-opts library into Sparc target library
...
llvm-svn: 8302
2003-09-01 20:26:14 +00:00
Chris Lattner
ad7b556813
Remove the -stopAfterNPasses option, which has been long obsoleted by bugpoint
...
llvm-svn: 8278
2003-08-31 21:47:24 +00:00
Chris Lattner
6f21fe9278
* move the dead-type-eliminate passes to the end, where they are more useful
...
* add prune-eh and inlining passes
* other minor pass reorganizations
llvm-svn: 8277
2003-08-31 21:45:55 +00:00
John Criswell
c907487c22
"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.
llvm-svn: 8215
2003-08-29 14:46:12 +00:00
Misha Brukman
bd779f7819
Renaming `dis' -> `llvm-dis'.
...
llvm-svn: 8197
2003-08-28 22:14:16 +00:00
Misha Brukman
84acf179dd
Build llvm-as and llvm-dis as the upgrade path to renamed tools.
...
llvm-svn: 8192
2003-08-28 21:43:51 +00:00
John Criswell
a289abfc82
Added code to avoid checking for .bc when the filename is too short.
...
llvm-svn: 8190
2003-08-28 21:42:29 +00:00
Misha Brukman
f12549d921
Renaming LLVM `dis' to `llvm-dis'.
...
llvm-svn: 8189
2003-08-28 21:34:13 +00:00
Misha Brukman
9893027b5e
Renaming LLVM `as' to `llvm-as'.
...
llvm-svn: 8188
2003-08-28 21:32:57 +00:00
Chris Lattner
aa6a44f501
Reorder #includes
...
Make sure that we veryify the result before writing it out!
llvm-svn: 8177
2003-08-28 16:25:34 +00:00
Tanya Lattner
57c70a62e0
First version of llvm-ar added to cvs repository.
...
llvm-svn: 8173
2003-08-28 15:22:38 +00:00
Chris Lattner
5c13c941de
Remove some long-dead code
...
llvm-svn: 8135
2003-08-24 19:52:02 +00:00
Chris Lattner
4d4f424f0c
Targets now configure themselves based on the source module, not on the
...
ad-hoc "Config" flags
llvm-svn: 8134
2003-08-24 19:50:53 +00:00
Chris Lattner
9cb8d7d0ac
Targets now configure themselves with the module, not flags
...
llvm-svn: 8133
2003-08-24 19:50:12 +00:00
Chris Lattner
479854091a
Add preliminary support for "any" pointersize/endianness. This will need
...
to change soon though.
llvm-svn: 8123
2003-08-24 14:02:47 +00:00
Chris Lattner
b149240096
Add support for modules with "any" pointersize/endianness
...
llvm-svn: 8122
2003-08-24 14:02:14 +00:00
Chris Lattner
b4d9921728
add preliminary support for -export-dynamic
...
llvm-svn: 8058
2003-08-22 19:18:45 +00:00
Chris Lattner
d1123fde11
Kill warning
...
llvm-svn: 8056
2003-08-22 18:57:43 +00:00
Misha Brukman
188bf100aa
Squash the warning that `Result' may not be initialized on all code paths.
...
llvm-svn: 8042
2003-08-22 03:35:24 +00:00
John Criswell
71c3e6236f
The JIT now passes the environment pointer to the main() function when it
...
starts a program. This allows the GNU env program to compile and JIT under
LLVM.
llvm-svn: 8022
2003-08-21 21:12:30 +00:00
Misha Brukman
90869942e7
Make the bytecode file executable as well for LLEE purposes.
...
llvm-svn: 7992
2003-08-20 20:38:15 +00:00
Chris Lattner
a615c77cde
no-strict-aliasing redux
...
llvm-svn: 7965
2003-08-18 22:32:48 +00:00
Chris Lattner
c8e81ba355
The CBE generates code which violates the TBAA rules of C, thus we must disable
...
optimizations based on these rules. :(
llvm-svn: 7964
2003-08-18 22:32:03 +00:00
Chris Lattner
016ccdfea6
Add new -disable-verify option
...
llvm-svn: 7960
2003-08-18 20:47:13 +00:00
Misha Brukman
7eb05a170a
Spell `necessary' correctly.
...
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner
7a993b7aad
Give correct command line for making a shared object
...
llvm-svn: 7929
2003-08-17 23:38:53 +00:00
Chris Lattner
f1243ba515
Make sure that "newmain" gets names for its arguments
...
llvm-svn: 7927
2003-08-17 22:14:20 +00:00
Chris Lattner
8877fa2e5e
Fix message
...
llvm-svn: 7926
2003-08-17 22:08:25 +00:00
Misha Brukman
85f561f9ba
`execve_test' is not part of LLEE.
...
llvm-svn: 7912
2003-08-15 23:31:54 +00:00
Misha Brukman
0298d3e6ff
A lot of changes were suggested by Chris.
...
ExecveHandler.c:
* Use "" instead of <> for LLVM include files
* Use raw I/O, we don't need buffering
* Set errno = 0 before using open()
* strlen() doesn't count NULL terminator in its size
* Use memcmp() instead of strcmp()
* Return result of the real execve(), not 0
* Search for path to bytecode file if not absolute/relative path
SysUtils.c:
* Convert all comments to C-style
* Stop using `bool', use `unsigned' instead
SysUtils.h:
* Stop using `bool', use `unsigned' instead
* Updated comment to FindExecutable()
README.txt:
* Describe the goal of LLEE and an application
llvm-svn: 7911
2003-08-15 23:31:16 +00:00
Chris Lattner
8023f5c1c9
Revert my last (accidental) checkin, but keep the typeo fix
...
llvm-svn: 7879
2003-08-15 04:56:47 +00:00
Chris Lattner
6ae402fd2c
rename selection library to selectiondag
...
llvm-svn: 7878
2003-08-15 04:56:09 +00:00
Chris Lattner
32fdf188e7
Incorporate mapping library into the sparc library
...
llvm-svn: 7800
2003-08-13 02:28:20 +00:00
Misha Brukman
46b0345761
Initial checkin of the LLEE, the (LL)VM (E)xecution (E)nvironment.
...
llvm-svn: 7760
2003-08-11 22:29:36 +00:00
Chris Lattner
f458b7dd3b
Include the new selection library for the X86 target
...
llvm-svn: 7720
2003-08-11 14:59:53 +00:00
Misha Brukman
3f0385d424
Chomped spurious blank lines.
...
llvm-svn: 7700
2003-08-08 15:37:35 +00:00
Misha Brukman
1b7a238f3f
File-related functions moved to FileUtilities.h .
...
llvm-svn: 7696
2003-08-07 21:42:28 +00:00
Chris Lattner
b8f72991a6
Completely remove mention of the correlated branch elimination pass. It has
...
bugs and needs to be reworked anyway.
llvm-svn: 7692
2003-08-07 21:30:12 +00:00
Misha Brukman
250bf3674c
* The possessive third-person singular has no apostrophe (its)
...
* Grouped header files to fit with the LLVM standard
* Fit code into 80 columns
llvm-svn: 7690
2003-08-07 21:23:52 +00:00
Misha Brukman
0c2305b110
Re-grouped and alphabetized headers for easier reading and cleaner style.
...
llvm-svn: 7689
2003-08-07 21:19:30 +00:00
Misha Brukman
83d52f3c36
Fixed path for SystemUtils.h and a few code cleanups.
...
llvm-svn: 7688
2003-08-07 21:05:13 +00:00
Misha Brukman
e722e4ea49
Moved SystemUtils.h to include/Support and SystemUtils.cpp to lib/Support.
...
llvm-svn: 7687
2003-08-07 21:04:42 +00:00
Chris Lattner
d1e2aaef4f
If we're debugging the SimplifyCFG pass, we _REALLY_ don't want to use it for
...
narrowing, no matter what.
llvm-svn: 7596
2003-08-05 15:51:05 +00:00
Misha Brukman
689398fe76
Only test the vector of functions if it is non-empty.
...
llvm-svn: 7594
2003-08-05 15:26:21 +00:00
Misha Brukman
4aad821408
Do not attempt to reduce a test case if it is an empty set.
...
llvm-svn: 7570
2003-08-04 19:03:42 +00:00
John Criswell
fe69bc502d
Added code that ensures that we don't try to reduce an empty vector of basic
...
blocks.
This fixes the bugpoint regressions.
llvm-svn: 7569
2003-08-04 18:24:31 +00:00
Chris Lattner
7af360e339
Make sure to flush the output stream so that we get incremental updates
...
llvm-svn: 7555
2003-08-04 00:56:43 +00:00
Chris Lattner
a132c36880
Print accurate run instructions for when testing LLC
...
llvm-svn: 7554
2003-08-04 00:56:27 +00:00
Chris Lattner
4089d880ff
Fix problem I introduced in bugpoint with the cleanup functions
...
llvm-svn: 7549
2003-08-03 22:29:43 +00:00
Chris Lattner
f0c6964470
DEBUG got moved to Debug.h
...
llvm-svn: 7491
2003-08-01 22:13:59 +00:00
Chris Lattner
aa997fbbca
Use the new FileUtilities library to do diff'ing of files
...
llvm-svn: 7484
2003-08-01 20:29:45 +00:00
Chris Lattner
238ec53e70
Use the C++, more portable, deleter
...
llvm-svn: 7483
2003-08-01 20:29:18 +00:00
Chris Lattner
335c51afdf
Don't emit modules with lots of cruft hanging off of them.
...
llvm-svn: 7478
2003-08-01 16:14:33 +00:00
Chris Lattner
f7e125403b
Parameterize the performFinalCleanups a bit
...
llvm-svn: 7477
2003-08-01 16:13:49 +00:00
Misha Brukman
7d9632896d
Ignore intrinsic functions -- don't mangle their names or rewrite calls to them.
...
llvm-svn: 7438
2003-07-30 21:45:20 +00:00
Misha Brukman
87154fdbc0
CodeGeneratorBug.cpp:
...
* Temporarily externing InputArgv to print it out for the benefit of LLI command
needed to reproduce the result.
* Print out the list of functions currently being tested
* ListReducer now returns a bool if there was a failure, so test for it
ListReducer.h:
* Handle the case where there is no problem by returning true if failure is
found. Also correctly handles the case when there is only 1 pass/function.
Miscompilation.cpp:
* ListReducer now returns a bool if there was a failure, so test for it
llvm-svn: 7434
2003-07-30 20:15:56 +00:00
Misha Brukman
40feb36ffd
* Moved InputArgv out of anonymous scope to be extern'd in another file.
...
* Added DEBUG() statements to print out parameters passed to executing programs
* Actually ADD parameters to a program running via the JIT (using vector<char*>)
llvm-svn: 7433
2003-07-30 20:15:44 +00:00
Misha Brukman
f9010058d2
Moved definition of InputArgv into ExecutionDriver.cpp -- it is only used there.
...
llvm-svn: 7427
2003-07-30 17:59:23 +00:00
Misha Brukman
6cb2c57354
Use a vector<char*> instead of char*[] so that we can add arbitrary number of
...
parameters, such as command-line arguments that the executing program gets via
bugpoint.
llvm-svn: 7423
2003-07-30 17:44:15 +00:00
Chris Lattner
c65effdd23
Add variable to capture arguments that should be passed to the user program
...
This is unused so far.
llvm-svn: 7422
2003-07-30 17:36:07 +00:00
Misha Brukman
4b628c5aa1
Revert change: default architecture is never set, it is guessed from input
...
bytecode file. This means that LLC on X86 will compile to Sparc assembly given a
64-bit input bytecode file...
llvm-svn: 7419
2003-07-30 15:29:55 +00:00
Misha Brukman
a845a566e1
* Disambiguate symbols before we start splitting module by functions
...
* Moved DisambiguateGlobalSymbols() out of the ReduceMisCodegenFunctions class
* Added an assert to have a cleaner exit if `main' is not found in the module
llvm-svn: 7380
2003-07-29 16:02:28 +00:00
Misha Brukman
123c8576e5
Implemented cleanups as suggested by Chris:
...
* Use Module::getNamedFunction() to delete "main" instead of using a loop
* Compare function pointers instead of function names to determine equivalence
* Simplified creation of a 2-element vector containing zeroes
* Manually performed LICM on code
* Added an abort() in case a function we're considering occurs in something that
is not an instruction
* Use DEBUG() around code sections instead of just in a statement in a loop,
because GCC's DCE may not be good enough to completely remove it in a release
build
* Print out a command that can be directly copied-and-pasted to re-execute
* Instead of just checking if a symbol begins with a dot and fixing it
accordingly, use Mangler and fix all the problems (invalid chars in C symbol
names) entirely
* The new `main' function has external linkage
llvm-svn: 7371
2003-07-28 21:07:39 +00:00
Misha Brukman
eacfd216d3
Added comment to function isExecutingJIT()
...
llvm-svn: 7370
2003-07-28 20:59:16 +00:00
Misha Brukman
539f95933c
BugDriver.h:
...
* Added method to query if BugDriver is executing the JIT currently.
This provides the ability in adding code that is conditionally executed in
codegen debugging phase.
CodeGeneratorBug.cpp:
* Delete test functions from the Safe module
* Code conditionally added when debugging the JIT:
use the lazy resolver function added to Emitter.cpp to get function pointer
by name. When compiled into an .so, this is the only way to get a pointer to
an external function
* Added a symbol disambiguator which will keep symbols uniquely named across
modules
* Delete generated files by default
* The function `main' *must* stay in the .bc file for the JIT, but that prevents
debugging it alone. This patch makes the old `main' become `old_main' and adds
a new function named `main' which just calls the original with the same
parameters, thereby keeping functionality the same.
ExecutionDriver.cpp:
* Returned to getting unique filenames
* Simplified code choosing between using and not using shared library option
llvm-svn: 7364
2003-07-28 19:16:14 +00:00
Misha Brukman
c69f4a575c
Add in support to load shared objects (-load is provided by Support library).
...
llvm-svn: 7360
2003-07-28 19:06:19 +00:00
Misha Brukman
0fd3172754
Made a bunch of cleanups, as per Chris' recommendations:
...
* Removed unused global and member variables
* Fixed comments (CodeGeneratorBug.cpp)
* Check for possibly failing GCC::create() and CBE::create()
* Remove generated files after diffing the output (e.g., shared object)
* Instead of using std::for_each, use explicit loops as std::for_each may
duplicate the functor, and ours carries state
* Changed member var from cl::opt<std::string> to just std::string
* Fixed doxygen comments
* Fixed string comparisons to use [ str.empty() ] instead of [ str == "" ]
* Cache instances of CBE and GCC in BugDriver across compilations and executions
while testing tools.
llvm-svn: 7302
2003-07-24 21:59:10 +00:00
Misha Brukman
d792c9bb46
Major addition to bugpoint: ability to debug code generators (LLC and LLI).
...
The C backend is assumed correct and is used to generate shared objects to be
loaded by the other two code generators.
LLC debugging should be functional now, LLI needs a few more additions to work,
the major one is renaming of external functions to call the JIT lazy function
resolver.
Bugpoint now has a command-line switch -mode with options 'compile' and
'codegen' to debug appropriate portions of tools.
ExecutionDriver.cpp: Added implementations of AbstractInterpreter for LLC and
GCC, broke out common code within other tools, and added ability to generate C
code with CBE individually, without executing the program, and the GCC tool can
generate executables shared objects or executables.
If no reference output is specified to Bugpoint, it will be generated with CBE,
because it is already assumed to be correct for the purposes of debugging using
this method. As a result, many functions now accept as an optional parameter a
shared object to be loaded in, if specified.
llvm-svn: 7293
2003-07-24 18:17:43 +00:00
Misha Brukman
6a6587ab02
Fixed misspelling.
...
llvm-svn: 7223
2003-07-21 21:58:16 +00:00
Chris Lattner
361e9c8b97
Remove instloops library
...
llvm-svn: 7210
2003-07-21 19:07:27 +00:00
Misha Brukman
63e14b5a4a
Initialize the target architecture based on compiler defines, so if compiled on
...
x86 or Sparc, LLC will automatically default to that platform, no guessing
required. On another platform, it will default to `noarch' and will have to
guess which architecture to compile to.
llvm-svn: 7207
2003-07-18 22:21:40 +00:00
Anand Shukla
6d79113343
Added pass to instrument backedges for lightweight tracing
...
llvm-svn: 7202
2003-07-18 16:25:40 +00:00
Misha Brukman
7fdaab4f68
The word `separate' only has one `e'.
...
llvm-svn: 7173
2003-07-14 17:20:40 +00:00
Misha Brukman
ecfc0d2d3c
Converted tabs to spaces.
...
llvm-svn: 7139
2003-07-10 16:35:17 +00:00
Misha Brukman
f75934fe93
Fixed indentation.
...
llvm-svn: 7122
2003-07-07 22:28:42 +00:00
Misha Brukman
7dee443c1c
* If compiling on X86 or Sparc, automagically enable the JIT for that arch
...
* Setting ENABLE_X86_JIT or ENABLE_SPARC_JIT on the `make' command-line will
force the inclusion of that JIT on a different architecture
* If neither JIT is enabled (e.g., compiling on a different architecture), the
-march option will not be available to LLI.
* As a side effect of the $ARCH variable, the Sparc LLI can now link just a bit
faster by not including the x86 library.
llvm-svn: 7070
2003-07-02 17:53:19 +00:00
John Criswell
3ef61afb76
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
llvm-svn: 7014
2003-06-30 21:59:07 +00:00
Chris Lattner
c8a619313a
Run the simplify CFG pass after instcombine which has the effect of deleting
...
ALL of the global ctor/dtor stuff if it is not used!
llvm-svn: 6916
2003-06-26 05:29:50 +00:00
Chris Lattner
e4b7d467f8
Move the instcombine pass before globaldce, so that if globals are made dead by instcombine, that they can be deleted.
...
llvm-svn: 6910
2003-06-26 04:32:31 +00:00
Chris Lattner
2599356122
Try to run cleanups even if nothing was modified in the preview passes
...
llvm-svn: 6897
2003-06-25 04:13:52 +00:00
Chris Lattner
0192b72fde
Run dead arg elimination, and tell it that it's ok to hack up non-internal functions
...
llvm-svn: 6896
2003-06-25 04:13:36 +00:00
Chris Lattner
e81e0d8da9
Add tail duplication pass to the pipeline, move the verifier pass to the front
...
Other minor reorganizations
llvm-svn: 6849
2003-06-22 20:11:45 +00:00
Chris Lattner
67e0842581
Minor cleanups
...
llvm-svn: 6799
2003-06-20 15:49:04 +00:00
Chris Lattner
684e3d2726
Funcresolve no longer performs nicification of resolved functions
...
instcombine does this
llvm-svn: 6787
2003-06-19 17:03:51 +00:00
Brian Gaeke
c39d16ab8f
tools/llc/llc.cpp: Make "-o -" work.
...
llvm-svn: 6780
2003-06-18 21:43:33 +00:00
Brian Gaeke
cf8c4f5fe4
lib/Target/Sparc/Sparc.cpp:
...
Move LowerAllocations, PrintFunction, and SymbolStripping passes, and
the corresponding -disable-strip and -d options, over here to the SPARC
target-specific bits of llc. Rename -d to -dump-asm.
tools/llc/Makefile:
Reindent. Add x86 library so that llc compiles again.
tools/llc/llc.cpp:
Remove support for running arbitrary optimization passes. Use opt instead.
Remove LowerAllocations, PrintFunction, and SymbolStripping passes, as noted
above.
Allow user to select a backend (x86 or SPARC); default to guessing from
the endianness/pointer size of the input bytecode file.
Fix typos.
Delete empty .s file and exit with error status if target does not support
static compilation.
llvm-svn: 6776
2003-06-18 21:14:23 +00:00
Chris Lattner
422de25579
Reindent code to match the rest of the file
...
llvm-svn: 6772
2003-06-18 18:46:08 +00:00
Chris Lattner
472beba236
Add new DAE pass to gccld. It does not add cause any regressions in the test-suite
...
llvm-svn: 6770
2003-06-18 16:29:02 +00:00
Brian Gaeke
e38c7d9f2d
Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms where
...
it is needed.
llvm-svn: 6753
2003-06-17 20:09:18 +00:00
Chris Lattner
dcd6bcb71d
Life is too short. Link in too much stuff on Linux to make building on sun easier
...
llvm-svn: 6748
2003-06-17 19:14:59 +00:00
Chris Lattner
eba0e9930d
The never-ending odyssey trying to get sparc to link
...
llvm-svn: 6747
2003-06-17 18:19:52 +00:00
Chris Lattner
f9f0005af7
Make sure to get the value of ARCH before we use it
...
llvm-svn: 6746
2003-06-17 17:53:35 +00:00
Chris Lattner
d9cc372613
Do not link in the Sparc JIT when building on X86. Eventually the sparc will not
...
link in the X86 JIT either, but this makes testing easier.
For some reason, the sparc JIT was breaking the X86 JIT when it was linked in. :(
llvm-svn: 6745
2003-06-17 15:54:52 +00:00
Chris Lattner
66e018bb80
Whoops, didn't mean to check that in :(
...
llvm-svn: 6743
2003-06-17 15:46:34 +00:00
Chris Lattner
d9e6bfae0e
Use more structured command line option processing
...
llvm-svn: 6742
2003-06-17 15:43:13 +00:00
Chris Lattner
55491774bb
Actually, change it to use explicit new/delete, which is more likely to be
...
optimized INTO an alloca
llvm-svn: 6727
2003-06-16 22:29:09 +00:00
Chris Lattner
7bdbd91e92
Remove usage of alloca
...
llvm-svn: 6726
2003-06-16 22:22:11 +00:00
Brian Gaeke
7a719ed20c
Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
...
so that we can easily change its use to be conditional on the result of
an autoconf test later.
llvm-svn: 6723
2003-06-16 21:54:01 +00:00
Chris Lattner
3aa325766a
Fix major bug in my last checkin. :(
...
llvm-svn: 6688
2003-06-13 16:10:26 +00:00
Chris Lattner
5eba7071e6
Remove obsolete comments about llvm-ar
...
llvm-svn: 6686
2003-06-12 18:57:42 +00:00
Chris Lattner
6bacaa1152
Remove duplicate pass
...
llvm-svn: 6631
2003-06-05 20:51:10 +00:00
Chris Lattner
a965631408
Remove stupid thinko that was preventing bugpoint from working
...
llvm-svn: 6533
2003-06-02 04:54:29 +00:00
Chris Lattner
b165ea31b7
Give better information about how the passes crash
...
llvm-svn: 6532
2003-06-02 04:54:16 +00:00
Chris Lattner
306f8b4934
Add support for: -o -
...
llvm-svn: 6485
2003-05-31 21:47:16 +00:00
Chris Lattner
fdb2f4b7cd
Add SRoA pass to gccas
...
llvm-svn: 6442
2003-05-30 19:24:06 +00:00
Chris Lattner
49fac80010
Move indvars pass after mem2reg pass where it is more likely to be useful
...
llvm-svn: 6441
2003-05-30 19:23:10 +00:00
Chris Lattner
4c46c95247
Fix formatting in file
...
llvm-svn: 6398
2003-05-29 15:13:15 +00:00
Misha Brukman
80f0eb3a82
Link in Sparc libs for the JIT, even on X86 to be able to support debugging
...
of Sparc JIT (printing out instrs) on X86. Con: this increases linking time.
llvm-svn: 6361
2003-05-27 21:42:05 +00:00
Chris Lattner
ecf2020cf7
Remove ugly hack (that I put in originally) for building in trace stuff
...
automatically in LLC
llvm-svn: 6358
2003-05-27 21:23:02 +00:00
Chris Lattner
e320c9215d
Add compatibility option
...
llvm-svn: 6354
2003-05-27 19:15:11 +00:00
Brian Gaeke
b752116230
Remove ".bc" from the end of InputFile if it is there, in
...
tools/lli/lli.cpp:main().
llvm-svn: 6317
2003-05-23 20:28:07 +00:00
Brian Gaeke
5bfa37f4df
gccld.cpp:
...
Fix typo in header.
Add IsArchive static method.
Roll LoadLibraryFromDirectory() into LoadLibrary(), and factor
LoadLibraryExactName() out of the result. Instead of treating the current
directory specially, just insert it into LibPaths in the beginning of
main().
Make LoadLibrary() take a "search" flag that says whether to search for the
correct library, or just trust that LibName is right.
Make LinkLibrary() take a "search" flag, and pass it to LoadLibrary().
Change the for-loop over InputFilenames to detect ar archives and link them
in as libraries without searching.
Change the for-loop over Libraries to explicitly turn on the "search" flag
to LinkLibrary() that makes LoadLibrary() search for the correct library
(i.e., when processing -lNAME options.)
llvm-svn: 6316
2003-05-23 20:27:07 +00:00
Brian Gaeke
61a05da4d5
Clarify BugDriver.cpp:BugDriver::ParseInputFile()'s return values in its
...
explanatory comment.
llvm-svn: 6308
2003-05-23 05:34:32 +00:00
Chris Lattner
02a168310b
Kill using declarations
...
llvm-svn: 6292
2003-05-22 20:13:16 +00:00
Chris Lattner
d9b159587b
Allow disabling final cleanups
...
llvm-svn: 6271
2003-05-21 20:38:59 +00:00
Chris Lattner
2b3ab562f6
Increase odds that this won't bork things
...
llvm-svn: 6267
2003-05-21 19:41:31 +00:00
Chris Lattner
f327467e4e
Get rid of really old makefile cruft
...
llvm-svn: 6218
2003-05-14 21:31:31 +00:00
Chris Lattner
a2d3504c24
Search LLVM_LIB_SEARCH_PATH for objects to allow it to find crtend.o
...
Implement minor library linking optimization.
llvm-svn: 6181
2003-05-13 22:14:13 +00:00
Chris Lattner
df705a6d02
Add a disable-verify option
...
llvm-svn: 6155
2003-05-12 22:12:44 +00:00
Chris Lattner
ebc5f1944e
Move static stuff to an anonymous namespace
...
llvm-svn: 6154
2003-05-12 22:08:58 +00:00
Chris Lattner
a95548f56c
Print filename correctly
...
llvm-svn: 6119
2003-05-12 14:32:04 +00:00
Chris Lattner
966e1a20ce
The JIT is the default mode for LLI now
...
llvm-svn: 6118
2003-05-12 14:31:57 +00:00
Chris Lattner
823ce22ef2
Make a comment more accurate
...
llvm-svn: 5991
2003-05-03 03:20:36 +00:00
Chris Lattner
7709ec5df5
Add support for debugging miscompilations with the use of the JIT or CBE!
...
llvm-svn: 5990
2003-05-03 03:19:41 +00:00
Chris Lattner
9e97f4acb6
Bugpoint is always verbose, eliminate option
...
llvm-svn: 5989
2003-05-03 03:18:41 +00:00
Misha Brukman
f3d3bcb485
The Grammar Police is out on patrol.
...
llvm-svn: 5985
2003-05-03 02:16:43 +00:00
Chris Lattner
e22031edfe
Add an instcombine pass before levelraise
...
llvm-svn: 5980
2003-05-02 18:19:05 +00:00
Chris Lattner
23f358bb52
Add a new option to disable stripping of bytecode files
...
llvm-svn: 5969
2003-04-28 03:28:56 +00:00
Chris Lattner
4f6cdbdf81
Remove two fields from TargetData which are target specific.
...
llvm-svn: 5963
2003-04-26 20:11:09 +00:00
Chris Lattner
8d8de422dd
Add options to disable simplification with passes, in case one of them crashes
...
llvm-svn: 5950
2003-04-25 22:08:12 +00:00
Chris Lattner
8d6d4257a0
Make sure to copy double alignment as well
...
llvm-svn: 5936
2003-04-25 06:06:13 +00:00
Chris Lattner
d64b2de3c8
Kill using declarations
...
llvm-svn: 5934
2003-04-25 05:26:11 +00:00
Chris Lattner
21a7218c5f
Make sure to add a targetdata instance to the passmanager, and make it match the
...
one in use by the TargetMachine
llvm-svn: 5931
2003-04-25 05:22:29 +00:00
Chris Lattner
0347cda8b8
Rename Kept -> Suffix
...
FIX problem where we were incorrectly putting the prefix of the list into the "suffix" list.
llvm-svn: 5926
2003-04-25 03:16:33 +00:00
Chris Lattner
4a1a9d2cdd
Rename Kept -> Suffix
...
Fix problem where we accidentally returned KeepPrefix instead of KeepSuffix!
llvm-svn: 5925
2003-04-25 03:16:05 +00:00
Chris Lattner
65e5f653fd
Big programs have tons of global variable initializers, and most passes don't care
...
about them. Try to delete them if it doesn't affect the passes.
llvm-svn: 5918
2003-04-25 00:53:05 +00:00
Chris Lattner
b0143880f4
When cleaning up the final bytecode file, make sure to run DTE as well
...
llvm-svn: 5917
2003-04-25 00:52:30 +00:00
Chris Lattner
f32939bbc9
Speed up convergence significantly and also reduce the size of testcases by making large portions of a function's CFG dead at a time.
...
llvm-svn: 5915
2003-04-24 23:51:38 +00:00
Chris Lattner
de39f2bdac
The big fix is this change:
...
- if (I->isExternal() && !Functions.count(I))
+ if (!I->isExternal() && !Functions.count(I))
We were not actually deleting any functions from the module!
llvm-svn: 5914
2003-04-24 22:54:06 +00:00
Chris Lattner
10c0469be1
Remove dead functions
...
llvm-svn: 5913
2003-04-24 22:53:24 +00:00
Chris Lattner
c3380918a5
Make sure that deleted functions have external linkage
...
llvm-svn: 5912
2003-04-24 22:53:01 +00:00
Chris Lattner
1d080f24c5
Use the list reducer to improve convergence speed and to support crashes that
...
only occur when multiple passes interact or when multiple functions exist in a module
llvm-svn: 5911
2003-04-24 22:24:58 +00:00
Chris Lattner
ba159e2824
Adjust to match new ListReducer interface
...
Move function to generic code
llvm-svn: 5910
2003-04-24 22:24:22 +00:00
Chris Lattner
69f8e6f7aa
Allow reducer interfaces to mutate the lists passed in
...
llvm-svn: 5909
2003-04-24 22:23:56 +00:00
Chris Lattner
39388ca08e
Move function from Miscompilation.cpp
...
llvm-svn: 5908
2003-04-24 22:23:34 +00:00
Chris Lattner
9f5a197eb6
Move the ListReducer Class into it's own header file instead of living in Miscompilation.cpp
...
llvm-svn: 5907
2003-04-24 20:16:29 +00:00
Chris Lattner
b052843bd2
Allow bugpoint to try new an different methods for pruning down lists
...
llvm-svn: 5905
2003-04-24 19:32:42 +00:00
Chris Lattner
d571e2aa91
Make sure to create a target data that matches the Module's target properties.
...
llvm-svn: 5904
2003-04-24 19:13:02 +00:00
Chris Lattner
aa038c856a
Remove support for "target data" pass ctors
...
llvm-svn: 5900
2003-04-24 18:36:41 +00:00
Chris Lattner
0e48f8cb51
LevelRaise now gets target data from passmanager
...
llvm-svn: 5898
2003-04-24 18:26:03 +00:00
Chris Lattner
16a413103c
Implement support for bugpoint to identify which FUNCTION an optimization
...
is miscompiling.
llvm-svn: 5893
2003-04-24 17:02:17 +00:00
Chris Lattner
1b35bee37c
Print where reference output goes
...
llvm-svn: 5891
2003-04-23 20:41:18 +00:00
Chris Lattner
03507809a0
The new CFrontend generates LOTs of basic blocks that just fall through and do
...
other funky stuff. Clean it up early.
llvm-svn: 5889
2003-04-23 20:40:42 +00:00
Chris Lattner
68efaa7ad9
Allow specifying an input file for the program being executed
...
llvm-svn: 5888
2003-04-23 20:31:37 +00:00
Chris Lattner
7d4c04c99a
We now need to link libscalar to get the switch lowering pass
...
llvm-svn: 5874
2003-04-23 16:43:02 +00:00
Chris Lattner
e695da3f54
Remove unnecessary &*
...
llvm-svn: 5873
2003-04-23 16:38:00 +00:00
Chris Lattner
cebde8d74c
Build the appropriate target machine for the input pointer size and endianness
...
llvm-svn: 5838
2003-04-22 18:10:32 +00:00
Chris Lattner
da3bc21076
Add support for allowing the user to extend the GCCLD searchpath
...
llvm-svn: 5825
2003-04-21 19:53:24 +00:00
Chris Lattner
4b462c0f99
Eliminate useless duplicate libraries
...
llvm-svn: 5823
2003-04-19 23:07:33 +00:00
Chris Lattner
1d49617c4f
Add first support for linking in .a files correctly and minimally, like a real linker does
...
llvm-svn: 5822
2003-04-19 22:44:38 +00:00
Chris Lattner
602d209078
Add crufty compatibility stuff for ld
...
llvm-svn: 5813
2003-04-18 23:38:22 +00:00
Chris Lattner
82f626e951
Eliminate some compatibility stuff no longer needed :P
...
llvm-svn: 5812
2003-04-18 23:38:09 +00:00