oota-llvm.git
19 years agoFix a bug where "." or any single character file name doesn't get the
Reid Spencer [Mon, 13 Dec 2004 07:51:52 +0000 (07:51 +0000)]
Fix a bug where "." or any single character file name doesn't get the
terminating / when setDirectory is called.

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

19 years agoRemove an always false clause from an if statement.
Reid Spencer [Mon, 13 Dec 2004 07:51:07 +0000 (07:51 +0000)]
Remove an always false clause from an if statement.

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

19 years agoFix a bug where directory names of length one or less where not set
Alkis Evlogimenos [Mon, 13 Dec 2004 07:41:35 +0000 (07:41 +0000)]
Fix a bug where directory names of length one or less where not set
properly (examples: "", ".", "a").

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

19 years agoUse the new BYTECODE_DESTINATION to override the default bytecode install
Reid Spencer [Mon, 13 Dec 2004 07:40:50 +0000 (07:40 +0000)]
Use the new BYTECODE_DESTINATION to override the default bytecode install
destination for this library so that it goes to $(cferuntime_libdir) rather
than just $(libdir). Normal bytecode libraries should be installed in the
$(libdir), but these ones are "special" because they're part of the the
C/C++ front end.

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

19 years agoMore properly name bytecode_libdir cferuntime_libdir. This is only the
Reid Spencer [Mon, 13 Dec 2004 07:38:55 +0000 (07:38 +0000)]
More properly name bytecode_libdir cferuntime_libdir. This is only the
libdir for the CFE runtime libraries, not "all bytecode".

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

19 years agoFinish the implementation of the BYTECODE_DESTINATION feature for modules
Reid Spencer [Mon, 13 Dec 2004 07:38:07 +0000 (07:38 +0000)]
Finish the implementation of the BYTECODE_DESTINATION feature for modules
too and getting rid of the last remnants of bytecode_libdir.

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

19 years agoImplement a new feature, BYTECODE_DESTINATION, to allow a user makefile to
Reid Spencer [Mon, 13 Dec 2004 07:28:21 +0000 (07:28 +0000)]
Implement a new feature, BYTECODE_DESTINATION, to allow a user makefile to
specify where the bytecode library is to be installed. This allows the
default location ($prefix/lib) to be overridden, for special case runtime
libraries like the cfe runtime libs.

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

19 years ago* Add a std::ostream inserter for sys::Path
Reid Spencer [Mon, 13 Dec 2004 06:57:15 +0000 (06:57 +0000)]
* Add a std::ostream inserter for sys::Path
* Correct the std::string constructor to take a const reference.

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

19 years agoFix recent breakage of win32 build
Jeff Cohen [Mon, 13 Dec 2004 06:26:35 +0000 (06:26 +0000)]
Fix recent breakage of win32 build

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

19 years agoMake sure the archive doesn't have to exist before we remove it.
Reid Spencer [Mon, 13 Dec 2004 03:59:35 +0000 (03:59 +0000)]
Make sure the archive doesn't have to exist before we remove it.

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

19 years agoAlways remove bytecode archives so that path mismatches don't cause the
Reid Spencer [Mon, 13 Dec 2004 03:56:42 +0000 (03:56 +0000)]
Always remove bytecode archives so that path mismatches don't cause the
contents to not be updated.

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

19 years ago* Fix header block.
Reid Spencer [Mon, 13 Dec 2004 03:50:50 +0000 (03:50 +0000)]
* Fix header block.
* Fix loop style per standards
* Don't create a new Module when the Linker's module is released.
* Add/fix function comments.

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

19 years agoAdd missing space in a comment.
Reid Spencer [Mon, 13 Dec 2004 03:23:13 +0000 (03:23 +0000)]
Add missing space in a comment.

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

19 years agoMake sure the Archive gets deleted if there's an error.
Reid Spencer [Mon, 13 Dec 2004 03:22:31 +0000 (03:22 +0000)]
Make sure the Archive gets deleted if there's an error.

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

19 years agoRemove commented out functions that have been replaced with lib/System
Reid Spencer [Mon, 13 Dec 2004 03:15:47 +0000 (03:15 +0000)]
Remove commented out functions that have been replaced with lib/System
functionality.

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

19 years agoFix header and function comments.
Reid Spencer [Mon, 13 Dec 2004 03:13:18 +0000 (03:13 +0000)]
Fix header and function comments.

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

19 years agoImplement new functions per new interface
Reid Spencer [Mon, 13 Dec 2004 03:03:42 +0000 (03:03 +0000)]
Implement new functions per new interface

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

19 years agoPR351: \
Reid Spencer [Mon, 13 Dec 2004 03:01:26 +0000 (03:01 +0000)]
PR351: \
Use sys::Path not FileUtilities to check file types

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

19 years agoConvert to use new Linker class interface
Reid Spencer [Mon, 13 Dec 2004 03:01:14 +0000 (03:01 +0000)]
Convert to use new Linker class interface

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

19 years agoLinkModules is now in the Linker class
Reid Spencer [Mon, 13 Dec 2004 03:01:03 +0000 (03:01 +0000)]
LinkModules is now in the Linker class

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

19 years agoFor PR351: \
Reid Spencer [Mon, 13 Dec 2004 03:00:51 +0000 (03:00 +0000)]
For PR351: \
* Remove IsLibrary and GetLibraryPath, replaced by FindLibrary in ../Path.cpp \
* Implement GetSystemLibraryPaths and GetBytecodeLibraryPaths, instead of the \
  GetSystemLibraryPath1 and GetSystemLibraryPath2 methods

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

19 years agoFor PR351: \
Reid Spencer [Mon, 13 Dec 2004 03:00:39 +0000 (03:00 +0000)]
For PR351: \
* Move generic isArchive method here from Unix/Path.cpp \
* Implement isDynamicLibrary \
* Implement FindLibrary for Linker

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

19 years agoThis file contains basic Linker facilities needed by all tools
Reid Spencer [Mon, 13 Dec 2004 03:00:28 +0000 (03:00 +0000)]
This file contains basic Linker facilities needed by all tools

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

19 years agoMake LinkModules a static member function
Reid Spencer [Mon, 13 Dec 2004 03:00:16 +0000 (03:00 +0000)]
Make LinkModules a static member function

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

19 years agoThis file contains only the Linker's library linking support
Reid Spencer [Mon, 13 Dec 2004 03:00:04 +0000 (03:00 +0000)]
This file contains only the Linker's library linking support

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

19 years agoFor PR351: \
Reid Spencer [Mon, 13 Dec 2004 02:59:52 +0000 (02:59 +0000)]
For PR351: \
* Remove redundant static function LinkOneLibrary. \
* Remove unneded #includes \
* Convert FileSupport usage to sys::Path instead

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

19 years agoThis file contains only the Linker's file linking support
Reid Spencer [Mon, 13 Dec 2004 02:59:41 +0000 (02:59 +0000)]
This file contains only the Linker's file linking support

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

19 years agoFor PR351: \
Reid Spencer [Mon, 13 Dec 2004 02:59:29 +0000 (02:59 +0000)]
For PR351: \
* Convert functions to Linker:: methods. \
* Remove unneeded #includes \
* Utilize sys::Path utilities not FileSupport utilities \
* Move File & Library linking functions to other source files

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

19 years agoFor PR351: \
Reid Spencer [Mon, 13 Dec 2004 02:59:15 +0000 (02:59 +0000)]
For PR351: \
* Get file information from a MappedFile instance \
* Convert file type tests to sys::Path form

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

19 years agoImplement error handling in OpenAndLoad* functions so the Linker can handle it.
Reid Spencer [Mon, 13 Dec 2004 02:59:03 +0000 (02:59 +0000)]
Implement error handling in OpenAndLoad* functions so the Linker can handle it.

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

19 years agoMake the size() method const
Reid Spencer [Mon, 13 Dec 2004 02:58:51 +0000 (02:58 +0000)]
Make the size() method const

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

19 years agoFor PR351:\
Reid Spencer [Mon, 13 Dec 2004 02:58:40 +0000 (02:58 +0000)]
For PR351:\
* Modify file reading to use sys::MappedFile \
* Use sys::Path instead of std::string

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

19 years agoAdd LLVMGCCDIR for path lookup
Reid Spencer [Mon, 13 Dec 2004 02:58:28 +0000 (02:58 +0000)]
Add LLVMGCCDIR for path lookup

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

19 years agoMake the OpenAndLoad functions have an ErrorMessage argument.
Reid Spencer [Mon, 13 Dec 2004 02:58:16 +0000 (02:58 +0000)]
Make the OpenAndLoad functions have an ErrorMessage argument.

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

19 years agoCompletely rewrite the interface to be class based
Reid Spencer [Mon, 13 Dec 2004 02:58:05 +0000 (02:58 +0000)]
Completely rewrite the interface to be class based

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

19 years agoFor PR351:\
Reid Spencer [Mon, 13 Dec 2004 02:57:53 +0000 (02:57 +0000)]
For PR351:\
* Consolidate path retrieval into just two methods. \
* Add FindLibrary as a convenience function. \
* Add isDynamicLibrary for testing for dynamic libs. \
* Make toString constant and reference clean.

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

19 years agoFor PR351:Remove the file type checking methods (now in sys::Path)
Reid Spencer [Mon, 13 Dec 2004 02:57:41 +0000 (02:57 +0000)]
For PR351:Remove the file type checking methods (now in sys::Path)

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

19 years agoGet LLVMGCCDIR into the #defines
Reid Spencer [Mon, 13 Dec 2004 02:16:51 +0000 (02:16 +0000)]
Get LLVMGCCDIR into the #defines

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

19 years agoAdd V8 SPEC status.
Brian Gaeke [Mon, 13 Dec 2004 00:27:35 +0000 (00:27 +0000)]
Add V8 SPEC status.

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

19 years agoChange indentation of a whole bunch of code, no real changes here.
Chris Lattner [Sun, 12 Dec 2004 23:49:37 +0000 (23:49 +0000)]
Change indentation of a whole bunch of code, no real changes here.

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

19 years agoMore substantial simplifications and speedups. This makes ADCE about 20% faster
Chris Lattner [Sun, 12 Dec 2004 23:40:17 +0000 (23:40 +0000)]
More substantial simplifications and speedups.  This makes ADCE about 20% faster
in some cases.

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

19 years agoMore minor microoptimizations
Chris Lattner [Sun, 12 Dec 2004 22:44:30 +0000 (22:44 +0000)]
More minor microoptimizations

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

19 years agoRemove some more set operations
Chris Lattner [Sun, 12 Dec 2004 22:22:18 +0000 (22:22 +0000)]
Remove some more set operations

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

19 years agoReduce number of set operations.
Chris Lattner [Sun, 12 Dec 2004 22:16:13 +0000 (22:16 +0000)]
Reduce number of set operations.

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

19 years agoOptimize div/rem + select combinations more.
Chris Lattner [Sun, 12 Dec 2004 21:48:58 +0000 (21:48 +0000)]
Optimize div/rem + select combinations more.

In particular, implement div.ll:test10 and rem.ll:test4.

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

19 years agoAdd testcases for simple things we can handle that occur now in vortex.
Chris Lattner [Sun, 12 Dec 2004 21:40:22 +0000 (21:40 +0000)]
Add testcases for simple things we can handle that occur now in vortex.

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

19 years agoDejagnu doesn't work if you do TESTSUITE=.../
Chris Lattner [Sun, 12 Dec 2004 21:39:49 +0000 (21:39 +0000)]
Dejagnu doesn't work if you do TESTSUITE=.../
You can't pass the trailing / into Dejagnu, so make the makefile strip it off

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

19 years agoFix Regression/CodeGen/PowerPC/2004-12-12-ZeroSizeCommon.ll, and all programs
Chris Lattner [Sun, 12 Dec 2004 20:36:19 +0000 (20:36 +0000)]
Fix Regression/CodeGen/PowerPC/2004-12-12-ZeroSizeCommon.ll, and all programs
when compiled with debug information.

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

19 years agoNew testcase that the PPC backend miscompiles. It is emitting
Chris Lattner [Sun, 12 Dec 2004 20:34:06 +0000 (20:34 +0000)]
New testcase that the PPC backend miscompiles.  It is emitting

  .comm _X,0

For X, which makes the linker thing that X is never defined.

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

19 years agoCSE calls to getTypeSize.
Chris Lattner [Sun, 12 Dec 2004 20:31:00 +0000 (20:31 +0000)]
CSE calls to getTypeSize.

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

19 years agoProperly implement copying of a global, fixing the 255.vortex & povray
Chris Lattner [Sun, 12 Dec 2004 19:34:41 +0000 (19:34 +0000)]
Properly implement copying of a global, fixing the 255.vortex & povray
failures from last night.

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

19 years agoSimplify code and do not invalidate iterators.
Chris Lattner [Sun, 12 Dec 2004 18:23:20 +0000 (18:23 +0000)]
Simplify code and do not invalidate iterators.
This fixes a crash compiling TimberWolfMC that was exposed due to recent
optimizer changes.

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

19 years agoUse the target triple to pick this target.
Chris Lattner [Sun, 12 Dec 2004 17:40:28 +0000 (17:40 +0000)]
Use the target triple to pick this target.

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

19 years agoGet rid of subbullets for all of the "known problems" section. None of the
Chris Lattner [Sun, 12 Dec 2004 17:20:23 +0000 (17:20 +0000)]
Get rid of subbullets for all of the "known problems" section.  None of the
other sections have subbullets, and it make the TOC look like the whole
document is known problems!

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

19 years agoComplete the list of MultiSource failures.
Brian Gaeke [Sun, 12 Dec 2004 08:22:11 +0000 (08:22 +0000)]
Complete the list of MultiSource failures.

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

19 years agoDo not internalize a module if -link-as-library is passed.
Chris Lattner [Sun, 12 Dec 2004 07:53:51 +0000 (07:53 +0000)]
Do not internalize a module if -link-as-library is passed.

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

19 years agohbd should be working now.
Brian Gaeke [Sun, 12 Dec 2004 07:42:59 +0000 (07:42 +0000)]
hbd should be working now.

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

19 years agoFinally enable the setcc-branch folding code.
Brian Gaeke [Sun, 12 Dec 2004 07:42:58 +0000 (07:42 +0000)]
Finally enable the setcc-branch folding code.
Also, fix a bug where ubyte 255 would sometimes be output as -1. This
was afflicting hbd.

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

19 years agoAdd (currently disabled) code for canFoldSetCC
Brian Gaeke [Sun, 12 Dec 2004 06:22:30 +0000 (06:22 +0000)]
Add (currently disabled) code for canFoldSetCC

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

19 years agoThough the previous xform applies to literally dozens (hundreds?) of variables
Chris Lattner [Sun, 12 Dec 2004 06:03:06 +0000 (06:03 +0000)]
Though the previous xform applies to literally dozens (hundreds?) of variables
in SPEC, the subsequent optimziations that we are after don't play with
with FP values, so disable this xform for them.  Really we just don't want
stuff like:

double G;   (always 0 or 412312.312)
  = G;

turning into:

bool G_b;
  = G_b ? 412312.312 : 0;

We'd rather just do the load.

-Chris

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

19 years agoAdd stubs for setcc-branch folding support.
Brian Gaeke [Sun, 12 Dec 2004 06:01:26 +0000 (06:01 +0000)]
Add stubs for setcc-branch folding support.

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

19 years agoIf a variable can only hold two values, and is not already a bool, shrink it
Chris Lattner [Sun, 12 Dec 2004 05:53:50 +0000 (05:53 +0000)]
If a variable can only hold two values, and is not already a bool, shrink it
down to actually BE a bool.  This allows simple value range propagation
stuff work harder, deleting comparisons in bzip2 in some hot loops.

This implements GlobalOpt/integer-bool.ll, which is the essence of the
loop condition distilled into a testcase.

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

19 years agoNew testcase. Shrinking the variable to a bool allows instcombine to delete
Chris Lattner [Sun, 12 Dec 2004 05:52:12 +0000 (05:52 +0000)]
New testcase.  Shrinking the variable to a bool allows instcombine to delete
the condition.

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

19 years agoIf one side of and/or is known to be 0/-1, it doesn't matter
Chris Lattner [Sat, 11 Dec 2004 23:15:19 +0000 (23:15 +0000)]
If one side of and/or is known to be 0/-1, it doesn't matter
if the other side is overdefined.

This allows us to fold conditions like:  if (X < Y || Y > Z) in some cases.

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

19 years agoNew testcase. If one side of and/or is known to be 0/-1, it doesn't matter
Chris Lattner [Sat, 11 Dec 2004 23:14:40 +0000 (23:14 +0000)]
New testcase.  If one side of and/or is known to be 0/-1, it doesn't matter
if the other side is overdefined.

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

19 years agoPrint llvm code one function at a time.
Brian Gaeke [Sat, 11 Dec 2004 22:17:07 +0000 (22:17 +0000)]
Print llvm code one function at a time.

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

19 years agoCheck in the file I forgot last night, to solve all of the crashes in every
Chris Lattner [Sat, 11 Dec 2004 22:10:29 +0000 (22:10 +0000)]
Check in the file I forgot last night, to solve all of the crashes in every
test in the suite.  :(

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

19 years agoJIT should print LLVM each function before selecting instructions for it.
Brian Gaeke [Sat, 11 Dec 2004 18:41:09 +0000 (18:41 +0000)]
JIT should print LLVM each function before selecting instructions for it.

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

19 years agoRename Path::get -> Path::toString
Reid Spencer [Sat, 11 Dec 2004 17:37:01 +0000 (17:37 +0000)]
Rename Path::get -> Path::toString

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

19 years agoUpdate test
Chris Lattner [Sat, 11 Dec 2004 17:13:19 +0000 (17:13 +0000)]
Update test

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

19 years agoOnly cound if we actually made a change.
Chris Lattner [Sat, 11 Dec 2004 17:00:14 +0000 (17:00 +0000)]
Only cound if we actually made a change.

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

19 years agoThe split bb is really the exit of the old function
Chris Lattner [Sat, 11 Dec 2004 16:59:54 +0000 (16:59 +0000)]
The split bb is really the exit of the old function

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

19 years agoA little cleanup on this file.
Reid Spencer [Sat, 11 Dec 2004 07:16:54 +0000 (07:16 +0000)]
A little cleanup on this file.

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

19 years agoNew feature
Chris Lattner [Sat, 11 Dec 2004 06:10:52 +0000 (06:10 +0000)]
New feature

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

19 years agoTwo bug fixes:
Chris Lattner [Sat, 11 Dec 2004 06:05:53 +0000 (06:05 +0000)]
Two bug fixes:
 1. Actually increment the Statistic for the GV elim optzn
 2. When resolving undef branches, only resolve branches in executable blocks,
    avoiding marking a bunch of completely dead blocks live.  This has a big
    impact on the quality of the generated code.

With this patch, we positively rip up vortex, compiling Ut_MoveBytes to a
single memcpy call. In vortex we get this:

     12 ipsccp           - Number of globals found to be constant
    986 ipsccp           - Number of arguments constant propagated
   1378 ipsccp           - Number of basic blocks unreachable
   8919 ipsccp           - Number of instructions removed

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

19 years agoDo not delete the entry block to a function.
Chris Lattner [Sat, 11 Dec 2004 05:32:19 +0000 (05:32 +0000)]
Do not delete the entry block to a function.

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

19 years agoBools are *also* not ints. Sigh. Furthermore, most of the TargetMachine
Brian Gaeke [Sat, 11 Dec 2004 05:19:04 +0000 (05:19 +0000)]
Bools are *also* not ints. Sigh. Furthermore, most of the TargetMachine
ctor parameters can be defaulted.

Print the transformed llvm code input to the instruction selector
when -print-machineinstrs is on, just like V9.

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

19 years agoLook for many more moves to fold (previously, we only
Brian Gaeke [Sat, 11 Dec 2004 05:19:03 +0000 (05:19 +0000)]
Look for many more moves to fold (previously, we only
*or g0, x      add g0, x          recognized * as a move)
 or  x, g0     add  x, g0
 or  0, x      add  0, x
 or  x, 0      add  x, 0

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

19 years agoMake GEPs not suck so much:
Brian Gaeke [Sat, 11 Dec 2004 05:19:02 +0000 (05:19 +0000)]
Make GEPs not suck so much:
* Don't emit the Index * ElementSize multiply if Index is a constant.
* Use a shift, not a multiply, if ElementSize is 1/2/4/8.
* If ElementSize fits in the immediate field of SMUL, then put it there.

Fix a bug where struct offsets might be truncated (ConstantSInt::get is
now used instead of ConstantInt::get).

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

19 years agoUpdate lists of failing benchmarks, including info on which
Brian Gaeke [Sat, 11 Dec 2004 05:19:01 +0000 (05:19 +0000)]
Update lists of failing benchmarks, including info on which
ones are failing in cbe.

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

19 years agoImplement Transforms/SCCP/ipsccp-gvar.ll, by tracking values stored to
Chris Lattner [Sat, 11 Dec 2004 05:15:59 +0000 (05:15 +0000)]
Implement Transforms/SCCP/ipsccp-gvar.ll, by tracking values stored to
non-address-taken global variables.

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

19 years agoNew testcase that ipsccp should handle.
Chris Lattner [Sat, 11 Dec 2004 05:14:55 +0000 (05:14 +0000)]
New testcase that ipsccp should handle.

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

19 years agoFix some minor spellos and grammaros.
Reid Spencer [Sat, 11 Dec 2004 05:12:57 +0000 (05:12 +0000)]
Fix some minor spellos and grammaros.

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

19 years agoRevert the last patch. We really do need SimplyCFG.
Reid Spencer [Sat, 11 Dec 2004 03:03:54 +0000 (03:03 +0000)]
Revert the last patch. We really do need SimplyCFG.

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

19 years agoFix a bug where we could delete dead invoke instructions with uses.
Chris Lattner [Sat, 11 Dec 2004 02:53:57 +0000 (02:53 +0000)]
Fix a bug where we could delete dead invoke instructions with uses.
In functions where we fully constant prop the return value, replace all
ret instructions with 'ret undef'.

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

19 years agoPath::get -> Path::toString
Reid Spencer [Sat, 11 Dec 2004 00:14:15 +0000 (00:14 +0000)]
Path::get -> Path::toString

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

19 years agoRemove this pass as its no longer needed.
Reid Spencer [Fri, 10 Dec 2004 22:55:35 +0000 (22:55 +0000)]
Remove this pass as its no longer needed.

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

19 years agoThis pass is no longer needed.
Chris Lattner [Fri, 10 Dec 2004 22:30:32 +0000 (22:30 +0000)]
This pass is no longer needed.

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

19 years agoImplement SCCP/ipsccp-conditional.ll, by totally deleting dead blocks.
Chris Lattner [Fri, 10 Dec 2004 22:29:08 +0000 (22:29 +0000)]
Implement SCCP/ipsccp-conditional.ll, by totally deleting dead blocks.

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

19 years agoNew testcase
Chris Lattner [Fri, 10 Dec 2004 22:28:49 +0000 (22:28 +0000)]
New testcase

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

19 years agoGet rid of warning from flex.
Reid Spencer [Fri, 10 Dec 2004 21:59:47 +0000 (21:59 +0000)]
Get rid of warning from flex.

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

19 years agoFix SCCP/2004-12-10-UndefBranchBug.ll
Chris Lattner [Fri, 10 Dec 2004 20:41:50 +0000 (20:41 +0000)]
Fix SCCP/2004-12-10-UndefBranchBug.ll

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

19 years agoAdd missing accessor.
Chris Lattner [Fri, 10 Dec 2004 20:35:47 +0000 (20:35 +0000)]
Add missing accessor.

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

19 years agoMake sure to link the target-triple as well, so it ends up in the .llvm.bc file
Chris Lattner [Fri, 10 Dec 2004 20:26:15 +0000 (20:26 +0000)]
Make sure to link the target-triple as well, so it ends up in the .llvm.bc file

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

19 years agoNew testcase that SCCP miscompiles. Luckily this is extremely unlikely to
Chris Lattner [Fri, 10 Dec 2004 20:10:23 +0000 (20:10 +0000)]
New testcase that SCCP miscompiles.  Luckily this is extremely unlikely to
happen in practice, but IP-SCCP can trigger it.

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

19 years agoFix output for Flexing to not print full path of source.
Reid Spencer [Fri, 10 Dec 2004 19:44:16 +0000 (19:44 +0000)]
Fix output for Flexing to not print full path of source.

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

19 years agoCheck in the right test
Chris Lattner [Fri, 10 Dec 2004 17:43:43 +0000 (17:43 +0000)]
Check in the right test

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

19 years agoFix Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll,
Chris Lattner [Fri, 10 Dec 2004 17:42:31 +0000 (17:42 +0000)]
Fix Regression/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll,
and the failure on make_dparser last night.

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

19 years agoNew testcase for a bug exposed by the ipsccp pass, causing dparser to fail
Chris Lattner [Fri, 10 Dec 2004 17:41:43 +0000 (17:41 +0000)]
New testcase for a bug exposed by the ipsccp pass, causing dparser to fail
last night.

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

19 years agoFix typo
Chris Lattner [Fri, 10 Dec 2004 16:27:34 +0000 (16:27 +0000)]
Fix typo

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