Chris Lattner
bd7b5fff82
pull a large nested conditional out into its own function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8605 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-19 17:17:26 +00:00
Chris Lattner
9d5890d435
Implement InstCombine/add.ll:test(15|16)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8604 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-19 15:35:42 +00:00
Chris Lattner
b55650aad6
New testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8603 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-19 15:33:46 +00:00
Chris Lattner
c6a200efd2
a bitfield stress test to exercise various parts of the front-end.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8602 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-19 05:22:10 +00:00
John Criswell
4b6e5d1198
Changed the empty rule for .h files. The rule needs an empty command so that
...
Make actually uses it to "regenerate" header files that have been
moved/removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8600 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 18:37:08 +00:00
Brian Gaeke
79c980399e
Fix a typo in Sparc.cpp.
...
Update names of some pass creator fns in addPassesToEmitAssembly().
FunctionInfo is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8599 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 17:37:46 +00:00
Brian Gaeke
b92c5c0c15
Rename the pass creator fn to mimic the other creator fn names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8598 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 17:37:35 +00:00
Brian Gaeke
866dc1def7
Fix (and properly doxygenify) some comments. Incorporate
...
functionality of FunctionInfo pass as doFinalization method.
Rename pass to match names of other passes like it.
Rename the pass creator fn to mimic the other creator fn names.
Include StringExtras for utostr().
Make symbol prologue/epilogue stuff redundant with
EmitBytecodeToAssembly, in preparation for refactoring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8597 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 17:37:25 +00:00
Brian Gaeke
bb7cd97d53
Make the symbol prologue/epilogue stuff redundant with MappingInfo, in
...
preparation for refactoring.
Rename the pass creator fn to mimic the other creator fn names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8596 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 17:37:14 +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
Misha Brukman
521f1feb11
Minimal implementation of the abstract ModuleProvider interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8594 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 16:17:06 +00:00
Misha Brukman
b580232245
Abstract interface for module providers, e.g. streaming bytecode reader.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8593 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-18 16:16:32 +00:00
Chris Lattner
7b4475573a
Document new column
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8589 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 22:02:49 +00:00
Misha Brukman
6eba07a6a3
Fixed spelling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8588 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 21:34:23 +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
e5b3e1559b
In ExecWait(), made the child process exit if it can't execve() the new
...
program.
Added the use of const (which compiles and is hopefully correct).
Added comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8585 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 19:02:49 +00:00
Misha Brukman
f1d01fb6a4
Added sections about debugging mis-compilations and incorrect code generation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8584 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 18:51:47 +00:00
Misha Brukman
0bb806bd9a
Do not put DEBUG() guard around error condition; this must *always* be printed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8583 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 18:21:48 +00:00
Misha Brukman
4104f23e52
Fix the flag on `rm' to properly do a recursive deletion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8582 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 18:20:35 +00:00
Chris Lattner
63bd61330b
Change FunctionInfo from being an annotation put on Functions to be
...
something which is mapped from functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8580 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 17:26: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
John Criswell
e9ba8b3674
Added the ExecWait() function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8578 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 15:14:25 +00:00
John Criswell
5afb5f6377
Added the ExecWait() function. It executes a program with the specified
...
arguments and environment.
Perhaps it should be merged with the RunProgramWithTimeout function, but I'd
want to allow it to inherit the parent process's stdin and stdout.
I'll save that for a rainy day...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8577 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 15:13:59 +00:00
Chris Lattner
35f474acd6
fix misspelling analyse -> analyze
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8576 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 15:00:45 +00:00
John Criswell
58ebcd0d82
Renamed the link page to llvmlink.html
...
Added initial pages for the extract and llvm-link commands.
Reworded the description of the -load option for analyze to hopefully make it
more clear.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8575 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 14:11:24 +00:00
Chris Lattner
dd408e12d6
new old testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8574 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 05:00:56 +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
Chris Lattner
0981b62eec
Change the semancics of the dropallrefs method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8572 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 04:58:59 +00:00
Chris Lattner
0c448e58d3
Add new deleteBody method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8571 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-17 04:58:43 +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
John Criswell
d16afe9d3e
Updated the name of the linker to llvm-link.
...
This should fix the MultiSource tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8569 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 20:02:22 +00:00
Chris Lattner
cc838348fc
Fix bug raising allocations whose call sites were invoke instructions.
...
Thanks to brg for tracking down the problem so precisely!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8568 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 19:42:21 +00:00
Chris Lattner
1cbcd0fd48
This is effectively a complete rewrite of the globaldce algorithm, resulting
...
in it being both shorter and more effective. It no longer depends on the
callgraph, so one FIXME has been fixed.
Additionally, this pass was not able to delete recursive (but dead) functions
if they were pointed to by global variables which were also dead. In fact
this pass had a lot of problems deleting functions which were only pointed
to by dead globals and other stuff.
Fixing this means that the entire EH library should be stripped away now from
programs that don't use sjlj or exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8567 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 19:27:31 +00:00
Brian Gaeke
c86e84bcf3
Add missing apostrophe. It's been bugging me for years.
...
No really, years.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8566 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 18:00:35 +00:00
John Criswell
ddb7b4ed73
Regenerated configure with Misha's changes.
...
Now link is llvm-link and things are alphabetized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8565 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:54:19 +00:00
Brian Gaeke
305f02dd64
Fix typo in comment. Take out some random whitespace.
...
(Partial merge from my working file)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8564 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:38:05 +00:00
Misha Brukman
e655a637a7
These transitional scripts are no longer necessary, no one should have `as' or
...
`dis' anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8563 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:37:32 +00:00
Brian Gaeke
d0534a863a
Edit comment for accuracy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8562 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:36:50 +00:00
Chris Lattner
dd3e51dd35
Remove obsolete -abort-on-exception flag from LLI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8561 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:35:14 +00:00
Chris Lattner
e22040c84a
Remove obsolete option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8560 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:34:36 +00:00
Misha Brukman
950971dfe6
Fixed spelling & grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8559 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:31:46 +00:00
Misha Brukman
e78760e179
Renamed as' =>
llvm-as', dis' =>
llvm-dis', link' =>
llvm-link'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8558 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:29:54 +00:00
Misha Brukman
aad65f6c18
link' is now
llvm-link'. Also alphabetized the tools for easy reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8557 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:22:55 +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
Vikram S. Adve
5be7434c8b
Fix longjmp case so that, along with the call to abort(), we also
...
generate the appropriate CallArgsDescriptor and tmp. virtual regs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8554 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 05:56:22 +00:00
Vikram S. Adve
bed4effb84
Add flag to control whether or not delay slots are filled during
...
instruction scheduling (this is off by default).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8553 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 05:55:15 +00:00
John Criswell
1ce5c596a2
Allow multiple object trees to use the source tree tests at once by
...
using a QMTEST_CLASS_PATH local to the object tree.
Add the gui target to start the QMTest gui (saves writing a few lines of
documentation too). :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8552 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 02:59:26 +00:00
John Criswell
08acb9b87f
Have the configure script put llvm.py into the object root.
...
The QMTest program can then use that as the location for loading test and
resource class, thus compiling the Python code into the object root as
desired.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8551 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 02:12:45 +00:00