Commit Graph

7934 Commits

Author SHA1 Message Date
Chris Lattner
9f0201760e New testcases
llvm-svn: 8603
2003-09-19 15:33:46 +00:00
Chris Lattner
baf966331e a bitfield stress test to exercise various parts of the front-end.
llvm-svn: 8602
2003-09-19 05:22:10 +00:00
John Criswell
7a032bd1de 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.

llvm-svn: 8600
2003-09-18 18:37:08 +00:00
Brian Gaeke
180144d19e Fix a typo in Sparc.cpp.
Update names of some pass creator fns in addPassesToEmitAssembly().
FunctionInfo is gone.

llvm-svn: 8599
2003-09-18 17:37:46 +00:00
Brian Gaeke
425a189248 Rename the pass creator fn to mimic the other creator fn names.
llvm-svn: 8598
2003-09-18 17:37:35 +00:00
Brian Gaeke
b22c819f96 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.

llvm-svn: 8597
2003-09-18 17:37:25 +00:00
Brian Gaeke
bbbb03f96a 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.

llvm-svn: 8596
2003-09-18 17:37:14 +00:00
John Criswell
9f7bb3c331 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
Misha Brukman
7d55b875eb Minimal implementation of the abstract ModuleProvider interface.
llvm-svn: 8594
2003-09-18 16:17:06 +00:00
Misha Brukman
fb31f22b76 Abstract interface for module providers, e.g. streaming bytecode reader.
llvm-svn: 8593
2003-09-18 16:16:32 +00:00
Chris Lattner
02fd18a30b Document new column
llvm-svn: 8589
2003-09-17 22:02:49 +00:00
Misha Brukman
9708959677 Fixed spelling.
llvm-svn: 8588
2003-09-17 21:34:23 +00:00
John Criswell
d3b8e07a98 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
b0eb351d77 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
e1ccc5a286 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.

llvm-svn: 8585
2003-09-17 19:02:49 +00:00
Misha Brukman
4a7f0399dc Added sections about debugging mis-compilations and incorrect code generation.
llvm-svn: 8584
2003-09-17 18:51:47 +00:00
Misha Brukman
1f7a4aff1b Do not put DEBUG() guard around error condition; this must *always* be printed.
llvm-svn: 8583
2003-09-17 18:21:48 +00:00
Misha Brukman
58758858b3 Fix the flag on `rm' to properly do a recursive deletion.
llvm-svn: 8582
2003-09-17 18:20:35 +00:00
Chris Lattner
a54026a27b Change FunctionInfo from being an annotation put on Functions to be
something which is mapped from functions.

llvm-svn: 8580
2003-09-17 17:26:22 +00:00
John Criswell
2682c34226 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
John Criswell
391b64574d Added the ExecWait() function.
llvm-svn: 8578
2003-09-17 15:14:25 +00:00
John Criswell
4d934ceefa 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...

llvm-svn: 8577
2003-09-17 15:13:59 +00:00
Chris Lattner
acbf60b4d0 fix misspelling analyse -> analyze
llvm-svn: 8576
2003-09-17 15:00:45 +00:00
John Criswell
0a337ff35f 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.

llvm-svn: 8575
2003-09-17 14:11:24 +00:00
Chris Lattner
6f8d60ccf2 new old testcase
llvm-svn: 8574
2003-09-17 05:00:56 +00:00
Chris Lattner
20dd7a8b54 Use new method
llvm-svn: 8573
2003-09-17 05:00:07 +00:00
Chris Lattner
3df1f4b6a5 Change the semancics of the dropallrefs method
llvm-svn: 8572
2003-09-17 04:58:59 +00:00
Chris Lattner
0d28d582e1 Add new deleteBody method
llvm-svn: 8571
2003-09-17 04:58:43 +00:00
John Criswell
206836748e 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
John Criswell
d29d765039 Updated the name of the linker to llvm-link.
This should fix the MultiSource tests.

llvm-svn: 8569
2003-09-16 20:02:22 +00:00
Chris Lattner
13c224fd17 Fix bug raising allocations whose call sites were invoke instructions.
Thanks to brg for tracking down the problem so precisely!

llvm-svn: 8568
2003-09-16 19:42:21 +00:00
Chris Lattner
8502d4f3f8 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.

llvm-svn: 8567
2003-09-16 19:27:31 +00:00
Brian Gaeke
b121c72006 Add missing apostrophe. It's been bugging me for years.
No really, years.

llvm-svn: 8566
2003-09-16 18:00:35 +00:00
John Criswell
a8c1910084 Regenerated configure with Misha's changes.
Now link is llvm-link and things are alphabetized.

llvm-svn: 8565
2003-09-16 15:54:19 +00:00
Brian Gaeke
d0729bd289 Fix typo in comment. Take out some random whitespace.
(Partial merge from my working file)

llvm-svn: 8564
2003-09-16 15:38:05 +00:00
Misha Brukman
0ec2ea17e1 These transitional scripts are no longer necessary, no one should have `as' or
`dis' anymore.

llvm-svn: 8563
2003-09-16 15:37:32 +00:00
Brian Gaeke
5ef624ead8 Edit comment for accuracy
llvm-svn: 8562
2003-09-16 15:36:50 +00:00
Chris Lattner
e07a1904c3 Remove obsolete -abort-on-exception flag from LLI
llvm-svn: 8561
2003-09-16 15:35:14 +00:00
Chris Lattner
7ac039d261 Remove obsolete option
llvm-svn: 8560
2003-09-16 15:34:36 +00:00
Misha Brukman
ed4039f715 Fixed spelling & grammar.
llvm-svn: 8559
2003-09-16 15:31:46 +00:00
Misha Brukman
563ba88392 Renamed as' => llvm-as', dis' => llvm-dis', link' => llvm-link'.
llvm-svn: 8558
2003-09-16 15:29:54 +00:00
Misha Brukman
7eba3f6ece link' is now llvm-link'. Also alphabetized the tools for easy reference.
llvm-svn: 8557
2003-09-16 15:22:55 +00:00
Misha Brukman
3d15fc4062 link' is now llvm-link'.
llvm-svn: 8556
2003-09-16 15:21:52 +00:00
Misha Brukman
88e17e49e3 link' has become llvm-link'.
llvm-svn: 8555
2003-09-16 15:21:21 +00:00
Vikram S. Adve
e92c22c656 Fix longjmp case so that, along with the call to abort(), we also
generate the appropriate CallArgsDescriptor and tmp. virtual regs.

llvm-svn: 8554
2003-09-16 05:56:22 +00:00
Vikram S. Adve
724b2d6f36 Add flag to control whether or not delay slots are filled during
instruction scheduling (this is off by default).

llvm-svn: 8553
2003-09-16 05:55:15 +00:00
John Criswell
cc008dcfe2 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).	:)

llvm-svn: 8552
2003-09-16 02:59:26 +00:00
John Criswell
cb6d27aaa0 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.

llvm-svn: 8551
2003-09-16 02:12:45 +00:00
Chris Lattner
0144d69391 Put llvm .bc files into the BytecodeObj subdirectory instead of the Bytecode
subdirectory.  This prevents the 'make clean' rule from removing lib/Bytecode

llvm-svn: 8550
2003-09-15 22:17:02 +00:00
John Criswell
187283a4d6 QMTest test and resource classes are always register before running the tests.
This ensures that any python bytecode generated by another platform is
replaced with new pythong bytecode before the tests begin.

Perferably, a better method will be implemented in the next few weeks.

llvm-svn: 8549
2003-09-15 21:54:49 +00:00