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