oota-llvm.git
20 years agoQuiet warnings on the persephone tester
Chris Lattner [Mon, 15 Nov 2004 05:54:07 +0000 (05:54 +0000)]
Quiet warnings on the persephone tester

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17821 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTwo minor improvements:
Chris Lattner [Mon, 15 Nov 2004 05:45:33 +0000 (05:45 +0000)]
Two minor improvements:
 1. Speedup getValueState by having it not consider Arguments.  It's better
    to just add them before we start SCCP'ing.
 2. SCCP can delete the contents of dead blocks.  No really, it's ok!  This
    reduces the size of the IR for subsequent passes, even though
    simplifycfg would do the same job.  In practice, simplifycfg does not
    run until much later than sccp in gccas

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17820 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoReplace the textual description with table specifying disk space requirements
Misha Brukman [Mon, 15 Nov 2004 05:19:53 +0000 (05:19 +0000)]
Replace the textual description with table specifying disk space requirements

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17819 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agorename InstValue to LatticeValue, as it holds for more than instructions.
Chris Lattner [Mon, 15 Nov 2004 05:03:30 +0000 (05:03 +0000)]
rename InstValue to LatticeValue, as it holds for more than instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17818 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoActually get the #include correct so it compiles .. duh.
Reid Spencer [Mon, 15 Nov 2004 04:47:22 +0000 (04:47 +0000)]
Actually get the #include correct so it compiles  .. duh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17817 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSubstantially refactor the SCCP class into an SCCP pass and an SCCPSolver
Chris Lattner [Mon, 15 Nov 2004 04:44:20 +0000 (04:44 +0000)]
Substantially refactor the SCCP class into an SCCP pass and an SCCPSolver
class.  The only changes are minor:

 * Do not try to SCCP instructions that return void in the rewrite loop.
   This is silly and fool hardy, wasting a map lookup and adding an entry
   to the map which is never used.
 * If we decide something has an undefined value, rewrite it to undef,
   potentially leading to further simplications.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17816 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake it actually compile on Solaris.
Reid Spencer [Mon, 15 Nov 2004 04:42:44 +0000 (04:42 +0000)]
Make it actually compile on Solaris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17815 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoConsolidate the implementation of TimeValue::now() for Unix to use the
Reid Spencer [Mon, 15 Nov 2004 04:36:36 +0000 (04:36 +0000)]
Consolidate the implementation of TimeValue::now() for Unix to use the
seemingly ubiquitous gettimeofday(3) call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17814 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoConsolidate the implementation of TimeValue::now() for Unix to use the
Reid Spencer [Mon, 15 Nov 2004 04:36:35 +0000 (04:36 +0000)]
Consolidate the implementation of TimeValue::now() for Unix to use the
seemingly ubiquitous gettimeofday(3) call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17813 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Make sure the string table gets read even if there isn't a foreign
Reid Spencer [Mon, 15 Nov 2004 01:40:20 +0000 (01:40 +0000)]
* Make sure the string table gets read even if there isn't a foreign
  symbol table.
* Make sure we update the file pointer for each member when rebuilding the
  symbol table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17812 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoChanges necessary to enable linking of archives without LLVM symbol tables.
Reid Spencer [Mon, 15 Nov 2004 01:20:11 +0000 (01:20 +0000)]
Changes necessary to enable linking of archives without LLVM symbol tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17811 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove a forgotten debug output line.
Reid Spencer [Sun, 14 Nov 2004 23:49:55 +0000 (23:49 +0000)]
Remove a forgotten debug output line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17810 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement functionality suggested from code review: getStatusInfo should
Reid Spencer [Sun, 14 Nov 2004 23:30:38 +0000 (23:30 +0000)]
Implement functionality suggested from code review: getStatusInfo should
returnn false if the file doesn't exist rather than throw ane exception.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17809 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoChanges per code review:
Reid Spencer [Sun, 14 Nov 2004 23:29:00 +0000 (23:29 +0000)]
Changes per code review:
* Document StatusInfo fields better
* No lines > 80 cols
* Have getStatusInfo return bool if file doesn't exist
* Don't document in detail how temporary file name should be created.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17808 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoLinker.h moved to include/llvm from include/llvm/Support.
Reid Spencer [Sun, 14 Nov 2004 23:27:04 +0000 (23:27 +0000)]
Linker.h moved to include/llvm from include/llvm/Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17807 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake sure IdentifyFileType is in the sys namespace.
Reid Spencer [Sun, 14 Nov 2004 23:26:18 +0000 (23:26 +0000)]
Make sure IdentifyFileType is in the sys namespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17806 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoLinker.h moved to include/llvm.
Reid Spencer [Sun, 14 Nov 2004 23:25:32 +0000 (23:25 +0000)]
Linker.h moved to include/llvm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17805 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agobugpoint needs LLVMLinker.a now.
Reid Spencer [Sun, 14 Nov 2004 23:23:18 +0000 (23:23 +0000)]
bugpoint needs LLVMLinker.a now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17804 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCorrect call of methods whose names have changed.
Reid Spencer [Sun, 14 Nov 2004 23:17:41 +0000 (23:17 +0000)]
Correct call of methods whose names have changed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17803 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis program needs libLLVMLinker.a now
Reid Spencer [Sun, 14 Nov 2004 23:12:22 +0000 (23:12 +0000)]
This program needs libLLVMLinker.a now

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17802 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoLinker.h has a new home.
Reid Spencer [Sun, 14 Nov 2004 23:00:08 +0000 (23:00 +0000)]
Linker.h has a new home.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17801 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved to lib/Bytecode/Archive.
Reid Spencer [Sun, 14 Nov 2004 22:38:32 +0000 (22:38 +0000)]
Moved to lib/Bytecode/Archive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17800 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd missing include.
Alkis Evlogimenos [Sun, 14 Nov 2004 22:37:42 +0000 (22:37 +0000)]
Add missing include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17799 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix usage of changed function prototype
Reid Spencer [Sun, 14 Nov 2004 22:30:54 +0000 (22:30 +0000)]
Fix usage of changed function prototype

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17798 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoA tool for adding a symbol table to LLVM Archives
Reid Spencer [Sun, 14 Nov 2004 22:29:21 +0000 (22:29 +0000)]
A tool for adding a symbol table to LLVM Archives

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17797 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMakefile for llvm-ranlib tool
Reid Spencer [Sun, 14 Nov 2004 22:28:33 +0000 (22:28 +0000)]
Makefile for llvm-ranlib tool

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17796 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago*Fix usage of changed function prototype*Use Archive interface to symbol table for...
Reid Spencer [Sun, 14 Nov 2004 22:27:46 +0000 (22:27 +0000)]
*Fix usage of changed function prototype*Use Archive interface to symbol table for archives

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17795 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis tool needs libLLVMArchive now
Reid Spencer [Sun, 14 Nov 2004 22:27:00 +0000 (22:27 +0000)]
This tool needs libLLVMArchive now

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17794 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove linking declarations (in Linker.h now)
Reid Spencer [Sun, 14 Nov 2004 22:25:26 +0000 (22:25 +0000)]
Remove linking declarations (in Linker.h now)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17793 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWe need the libLLVMArchive library now
Reid Spencer [Sun, 14 Nov 2004 22:23:31 +0000 (22:23 +0000)]
We need the libLLVMArchive library now

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17792 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved to lib/Linker (common with gccld)
Reid Spencer [Sun, 14 Nov 2004 22:22:45 +0000 (22:22 +0000)]
Moved to lib/Linker (common with gccld)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17791 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTotal rewrite using Archive library & new functionality
Reid Spencer [Sun, 14 Nov 2004 22:20:07 +0000 (22:20 +0000)]
Total rewrite using Archive library & new functionality

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17790 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis tool needs the libLLVMArchive library now.
Reid Spencer [Sun, 14 Nov 2004 22:19:21 +0000 (22:19 +0000)]
This tool needs the libLLVMArchive library now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17789 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove linking declarations (in Linker.h now)
Reid Spencer [Sun, 14 Nov 2004 22:17:49 +0000 (22:17 +0000)]
Remove linking declarations (in Linker.h now)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17788 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoProvide exception handling
Reid Spencer [Sun, 14 Nov 2004 22:17:03 +0000 (22:17 +0000)]
Provide exception handling

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17787 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved to lib/Linker
Reid Spencer [Sun, 14 Nov 2004 22:15:31 +0000 (22:15 +0000)]
Moved to lib/Linker

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17786 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd the llvm-ranlib tool
Reid Spencer [Sun, 14 Nov 2004 22:13:59 +0000 (22:13 +0000)]
Add the llvm-ranlib tool

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17785 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUse llvm-ar not ar for constructing archive. Wrap at 80 cols.
Reid Spencer [Sun, 14 Nov 2004 22:13:13 +0000 (22:13 +0000)]
Use llvm-ar not ar for constructing archive. Wrap at 80 cols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17784 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoForget strerror_r, it causes problems. Fix later when threading matters
Reid Spencer [Sun, 14 Nov 2004 22:10:54 +0000 (22:10 +0000)]
Forget strerror_r, it causes problems. Fix later when threading matters

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17783 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement the toString method
Reid Spencer [Sun, 14 Nov 2004 22:10:08 +0000 (22:10 +0000)]
Implement the toString method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17782 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdate for prototype changes
Reid Spencer [Sun, 14 Nov 2004 22:09:22 +0000 (22:09 +0000)]
Update for prototype changes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17781 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Implement getDirectoryContents * Implement getStatusInfo * Implement setStatusInfo...
Reid Spencer [Sun, 14 Nov 2004 22:08:36 +0000 (22:08 +0000)]
* Implement getDirectoryContents * Implement getStatusInfo * Implement setStatusInfo * Implement renameFile

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17780 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix bugs in class invariant
Reid Spencer [Sun, 14 Nov 2004 22:07:50 +0000 (22:07 +0000)]
Fix bugs in class invariant

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17779 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInclude the correct implementation file
Reid Spencer [Sun, 14 Nov 2004 22:07:04 +0000 (22:07 +0000)]
Include the correct implementation file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17778 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't exceed 80 columns.
Reid Spencer [Sun, 14 Nov 2004 22:06:18 +0000 (22:06 +0000)]
Don't exceed 80 columns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17777 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement IdentifyFileType function
Reid Spencer [Sun, 14 Nov 2004 22:05:32 +0000 (22:05 +0000)]
Implement IdentifyFileType function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17776 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement the high level interface to make (de)compression easier.
Reid Spencer [Sun, 14 Nov 2004 22:04:46 +0000 (22:04 +0000)]
Implement the high level interface to make (de)compression easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17775 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement the MoreHelp utility that calls a function to printmore help information...
Reid Spencer [Sun, 14 Nov 2004 22:04:00 +0000 (22:04 +0000)]
Implement the MoreHelp utility that calls a function to printmore help information if the MoreHelp global is not null.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17774 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't bother with a re-linked library, ensure archive library is built.
Reid Spencer [Sun, 14 Nov 2004 22:03:14 +0000 (22:03 +0000)]
Don't bother with a re-linked library, ensure archive library is built.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17773 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago*Adjust prototypes for public interface. *Rewrite LinkInArchive to use symbol tables.
Reid Spencer [Sun, 14 Nov 2004 22:02:27 +0000 (22:02 +0000)]
*Adjust prototypes for public interface. *Rewrite LinkInArchive to use symbol tables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17772 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSimplify compression code by using the high level interface to the Compressor
Reid Spencer [Sun, 14 Nov 2004 22:01:41 +0000 (22:01 +0000)]
Simplify compression code by using the high level interface to the Compressor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17771 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd wrappers to get defined symbols from bytecode
Reid Spencer [Sun, 14 Nov 2004 22:00:48 +0000 (22:00 +0000)]
Add wrappers to get defined symbols from bytecode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17770 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSimplify handling of decompression
Reid Spencer [Sun, 14 Nov 2004 22:00:09 +0000 (22:00 +0000)]
Simplify handling of decompression

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17769 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSimplify decompression code by using the high level interface to the Compressor
Reid Spencer [Sun, 14 Nov 2004 21:59:21 +0000 (21:59 +0000)]
Simplify decompression code by using the high level interface to the Compressor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17768 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCompletely rewritten to allow reading of archives and symbol table lookup in a more...
Reid Spencer [Sun, 14 Nov 2004 21:58:33 +0000 (21:58 +0000)]
Completely rewritten to allow reading of archives and symbol table lookup in a more efficient manner.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17767 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplementation declarations for Archive
Reid Spencer [Sun, 14 Nov 2004 21:57:46 +0000 (21:57 +0000)]
Implementation declarations for Archive

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17766 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFirst working version
Reid Spencer [Sun, 14 Nov 2004 21:56:59 +0000 (21:56 +0000)]
First working version

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17765 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd the Archive library
Reid Spencer [Sun, 14 Nov 2004 21:55:27 +0000 (21:55 +0000)]
Add the Archive library

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17764 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd the Linker library
Reid Spencer [Sun, 14 Nov 2004 21:54:41 +0000 (21:54 +0000)]
Add the Linker library

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17763 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago*Make naming convention consistent.*Add convertion to/from Unix Epoch time.*Add abili...
Reid Spencer [Sun, 14 Nov 2004 21:53:55 +0000 (21:53 +0000)]
*Make naming convention consistent.*Add convertion to/from Unix Epoch time.*Add ability to convert to readable string.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17762 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake the remove*OnSignal functions deal with Paths not strings
Reid Spencer [Sun, 14 Nov 2004 21:53:09 +0000 (21:53 +0000)]
Make the remove*OnSignal functions deal with Paths not strings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17761 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago*Put the StatusInfo type in the right section. *Provide the ability to rename a file...
Reid Spencer [Sun, 14 Nov 2004 21:52:22 +0000 (21:52 +0000)]
*Put the StatusInfo type in the right section. *Provide the ability to rename a file.*Provide the ability to get/set stat(2) information.*Provide the ability to identify LLVM file types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17760 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAllow explicit closing of the MappedFile, before destruction
Reid Spencer [Sun, 14 Nov 2004 21:51:36 +0000 (21:51 +0000)]
Allow explicit closing of the MappedFile, before destruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17759 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoLinker is its own module now. Moved to include/llvm/Linker.h
Reid Spencer [Sun, 14 Nov 2004 21:50:50 +0000 (21:50 +0000)]
Linker is its own module now. Moved to include/llvm/Linker.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17758 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd higher level interface to simplify use of Compressor
Reid Spencer [Sun, 14 Nov 2004 21:50:00 +0000 (21:50 +0000)]
Add higher level interface to simplify use of Compressor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17757 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd the MoreHelp function pointer. If non-null, this specifies a function to be calle...
Reid Spencer [Sun, 14 Nov 2004 21:49:13 +0000 (21:49 +0000)]
Add the MoreHelp function pointer. If non-null, this specifies a function to be called to print out additional help information

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17756 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove ReadArchiveFile (functionality moved to Archive.h). Add an alternate form...
Reid Spencer [Sun, 14 Nov 2004 21:48:27 +0000 (21:48 +0000)]
Remove ReadArchiveFile (functionality moved to Archive.h). Add an alternate form for GetBytecodeSymbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17755 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoComplete rewrite to get first working version.
Reid Spencer [Sun, 14 Nov 2004 21:47:41 +0000 (21:47 +0000)]
Complete rewrite to get first working version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17754 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a command for using llvm-ar correctly.
Reid Spencer [Sun, 14 Nov 2004 21:46:55 +0000 (21:46 +0000)]
Add a command for using llvm-ar correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17753 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInterface to Linker (revised/expanded from Support/Linker.h)
Reid Spencer [Sun, 14 Nov 2004 21:46:08 +0000 (21:46 +0000)]
Interface to Linker (revised/expanded from Support/Linker.h)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17752 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGhostLinkage not allowed in LLVM AsmWriter, either
Misha Brukman [Sun, 14 Nov 2004 21:04:34 +0000 (21:04 +0000)]
GhostLinkage not allowed in LLVM AsmWriter, either

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17751 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGhostLinkage should not reach asm printing stage
Misha Brukman [Sun, 14 Nov 2004 21:03:49 +0000 (21:03 +0000)]
GhostLinkage should not reach asm printing stage

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17750 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoHandle GhostLinkage (should not ever reach the assembly printing stage!)
Misha Brukman [Sun, 14 Nov 2004 21:03:30 +0000 (21:03 +0000)]
Handle GhostLinkage (should not ever reach the assembly printing stage!)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17749 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMark an unmaterialized function as having GhostLinkage
Misha Brukman [Sun, 14 Nov 2004 21:02:55 +0000 (21:02 +0000)]
Mark an unmaterialized function as having GhostLinkage

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17748 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd GhostLinkage for marking functions before they're fully materialized
Misha Brukman [Sun, 14 Nov 2004 21:02:28 +0000 (21:02 +0000)]
Add GhostLinkage for marking functions before they're fully materialized

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17747 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIf a global is just loaded and restored, realize that it is not changing
Chris Lattner [Sun, 14 Nov 2004 20:50:30 +0000 (20:50 +0000)]
If a global is just loaded and restored, realize that it is not changing
value.  This allows us to turn more globals into constants and eliminate them.
This patch implements GlobalOpt/load-store-global.llx.

Note that this patch speeds up 255.vortex from:

Output/255.vortex.out-cbe.time:program 7.640000
Output/255.vortex.out-llc.time:program 9.810000

to:

Output/255.vortex.out-cbe.time:program 7.250000
Output/255.vortex.out-llc.time:program 9.490000

Which isn't bad at all!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17746 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase. Believe it or not, this happens a LOT in vortex
Chris Lattner [Sun, 14 Nov 2004 20:41:39 +0000 (20:41 +0000)]
New testcase.  Believe it or not, this happens a LOT in vortex

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17745 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix build on Linux/PowerPC64 using SuSE GCC (#undef PPC)
Misha Brukman [Sun, 14 Nov 2004 20:34:01 +0000 (20:34 +0000)]
Fix build on Linux/PowerPC64 using SuSE GCC (#undef PPC)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17744 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved from include/llvm/Support/Linker.h
Reid Spencer [Sun, 14 Nov 2004 20:21:58 +0000 (20:21 +0000)]
Moved from include/llvm/Support/Linker.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17743 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMoved to lib/Bytecode/Archive in preparation for re-write.
Reid Spencer [Sun, 14 Nov 2004 19:59:40 +0000 (19:59 +0000)]
Moved to lib/Bytecode/Archive in preparation for re-write.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17742 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis optimization makes MANY phi nodes that all have the same incoming value.
Chris Lattner [Sun, 14 Nov 2004 19:29:34 +0000 (19:29 +0000)]
This optimization makes MANY phi nodes that all have the same incoming value.
If this happens, detect it early instead of relying on instcombine to notice
it later.  This can be a big speedup, because PHI nodes can have many
incoming values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17741 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement instcombine/phi.ll:test6 - pulling operations through PHI nodes.
Chris Lattner [Sun, 14 Nov 2004 19:13:23 +0000 (19:13 +0000)]
Implement instcombine/phi.ll:test6 - pulling operations through PHI nodes.

This exposes subsequent optimization possiblities and reduces code size.
This triggers 1423 times in spec.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17740 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase: the phi can be eliminated if the casts are sucked into it.
Chris Lattner [Sun, 14 Nov 2004 19:12:17 +0000 (19:12 +0000)]
New testcase: the phi can be eliminated if the casts are sucked into it.
Note that this reduces code size anyway (as well as making further
optimizations simpler) so it's always a win.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17739 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix typo
Chris Lattner [Sun, 14 Nov 2004 17:54:58 +0000 (17:54 +0000)]
Fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17738 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoadd a testcase, which we already handle
Chris Lattner [Sun, 14 Nov 2004 17:54:27 +0000 (17:54 +0000)]
add a testcase, which we already handle

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17737 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTransform this:
Chris Lattner [Sun, 14 Nov 2004 07:33:16 +0000 (07:33 +0000)]
Transform this:
  %X = alloca ...
  %Y = alloca ...
    X == Y

into false.  This allows us to simplify some stuff in eon (and probably
many other C++ programs) where operator= was checking for self assignment.
Folding this allows us to SROA several additional structs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17735 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove note to self
Chris Lattner [Sun, 14 Nov 2004 06:57:47 +0000 (06:57 +0000)]
Remove note to self

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17734 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix problem with insertion point for ADJCALLSTACKDOWN.
Brian Gaeke [Sun, 14 Nov 2004 06:32:08 +0000 (06:32 +0000)]
Fix problem with insertion point for ADJCALLSTACKDOWN.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17733 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdate lists of failing unit tests.
Brian Gaeke [Sun, 14 Nov 2004 06:32:07 +0000 (06:32 +0000)]
Update lists of failing unit tests.
Exclude bigfib, so that we effectively exclude all C++ benchmarks.
Update to-do list: mention va_start.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17732 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoOops, make this test the right thing.
Chris Lattner [Sun, 14 Nov 2004 06:11:41 +0000 (06:11 +0000)]
Oops, make this test the right thing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17731 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIf a function always returns a constant, replace all calls sites with that
Chris Lattner [Sun, 14 Nov 2004 06:10:11 +0000 (06:10 +0000)]
If a function always returns a constant, replace all calls sites with that
constant value.  This makes the return value dead and allows for
simplification in the caller.

This implements IPConstantProp/return-constant.ll

This triggers several dozen times throughout SPEC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17730 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase
Chris Lattner [Sun, 14 Nov 2004 06:02:46 +0000 (06:02 +0000)]
New testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17729 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix NotTest - round up extraStack to the nearest doubleword, if it is
Brian Gaeke [Sun, 14 Nov 2004 05:19:00 +0000 (05:19 +0000)]
Fix NotTest - round up extraStack to the nearest doubleword, if it is
not zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17728 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTeach SROA how to promote an array index that is variable, if the dimension
Chris Lattner [Sun, 14 Nov 2004 05:00:19 +0000 (05:00 +0000)]
Teach SROA how to promote an array index that is variable, if the dimension
of the array is just two.  This occurs 8 times in gcc, 6 times in crafty, and
12 times in 099.go.

This implements ScalarRepl/sroa_two.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17727 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase, SROA with variable array index
Chris Lattner [Sun, 14 Nov 2004 04:58:40 +0000 (04:58 +0000)]
New testcase, SROA with variable array index

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17726 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdate failing Benchmarks; point out that I'm skipping Shootout-C++.
Brian Gaeke [Sun, 14 Nov 2004 04:43:12 +0000 (04:43 +0000)]
Update failing Benchmarks; point out that I'm skipping Shootout-C++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17725 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRearrange some code, no functionality changes.
Chris Lattner [Sun, 14 Nov 2004 04:24:28 +0000 (04:24 +0000)]
Rearrange some code, no functionality changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17724 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdate expected UnitTests failures.
Brian Gaeke [Sun, 14 Nov 2004 03:22:08 +0000 (03:22 +0000)]
Update expected UnitTests failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17723 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRewrite outgoing arg handling to handle more weird corner cases.
Brian Gaeke [Sun, 14 Nov 2004 03:22:07 +0000 (03:22 +0000)]
Rewrite outgoing arg handling to handle more weird corner cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17722 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSupport UndefValue emission.
Brian Gaeke [Sun, 14 Nov 2004 03:22:05 +0000 (03:22 +0000)]
Support UndefValue emission.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17721 91177308-0d34-0410-b5e6-96231b3b80d8