Commit Graph

16492 Commits

Author SHA1 Message Date
Reid Spencer
11db4b8084 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
2004-12-13 03:01:26 +00:00
Reid Spencer
c406413471 Convert to use new Linker class interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18864 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 03:01:14 +00:00
Reid Spencer
e4874029c3 LinkModules is now in the Linker class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 03:01:03 +00:00
Reid Spencer
1b6b99bffc 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
2004-12-13 03:00:51 +00:00
Reid Spencer
ccb23a13e9 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
2004-12-13 03:00:39 +00:00
Reid Spencer
de4cedca14 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
2004-12-13 03:00:28 +00:00
Reid Spencer
0ba9e211be Make LinkModules a static member function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18859 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 03:00:16 +00:00
Reid Spencer
7a87ce043b 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
2004-12-13 03:00:04 +00:00
Reid Spencer
e84de29663 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
2004-12-13 02:59:52 +00:00
Reid Spencer
3ece6397cb 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
2004-12-13 02:59:41 +00:00
Reid Spencer
7dde0e3b05 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
2004-12-13 02:59:29 +00:00
Reid Spencer
663601cca6 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
2004-12-13 02:59:15 +00:00
Reid Spencer
5af46883f2 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
2004-12-13 02:59:03 +00:00
Reid Spencer
56c3ed854f Make the size() method const
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18852 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:58:51 +00:00
Reid Spencer
3343be3f2e 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
2004-12-13 02:58:40 +00:00
Reid Spencer
fa3b923f9e Add LLVMGCCDIR for path lookup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18850 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:58:28 +00:00
Reid Spencer
37911af8c4 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
2004-12-13 02:58:16 +00:00
Reid Spencer
e5caf877e9 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
2004-12-13 02:58:05 +00:00
Reid Spencer
e12d00da9c 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
2004-12-13 02:57:53 +00:00
Reid Spencer
d99eaa3c1f 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
2004-12-13 02:57:41 +00:00
Reid Spencer
ca76740633 Get LLVMGCCDIR into the #defines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18845 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 02:16:51 +00:00
Brian Gaeke
a04d959f0c Add V8 SPEC status.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18844 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 00:27:35 +00:00
Chris Lattner
6b8efcd697 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
2004-12-12 23:49:37 +00:00
Chris Lattner
387bc13575 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
2004-12-12 23:40:17 +00:00
Chris Lattner
46356794ab More minor microoptimizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18841 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 22:44:30 +00:00
Chris Lattner
4e51ccdd38 Remove some more set operations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18840 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 22:22:18 +00:00
Chris Lattner
188839a219 Reduce number of set operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18839 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 22:16:13 +00:00
Chris Lattner
857e8cdd65 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
2004-12-12 21:48:58 +00:00
Chris Lattner
cb8e9c94ff 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
2004-12-12 21:40:22 +00:00
Chris Lattner
60bdce6fd0 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
2004-12-12 21:39:49 +00:00
Chris Lattner
869f45937b 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
2004-12-12 20:36:19 +00:00
Chris Lattner
081da56e9e 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
2004-12-12 20:34:06 +00:00
Chris Lattner
8363ad6bfc CSE calls to getTypeSize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18833 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 20:31:00 +00:00
Chris Lattner
38c2556d0c 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
2004-12-12 19:34:41 +00:00
Chris Lattner
fb851ab281 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
2004-12-12 18:23:20 +00:00
Chris Lattner
3ea78c4276 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
2004-12-12 17:40:28 +00:00
Chris Lattner
9c33494d7c 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
2004-12-12 17:20:23 +00:00
Brian Gaeke
367c137f6a Complete the list of MultiSource failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18826 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 08:22:11 +00:00
Chris Lattner
bcfe1e2d64 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
2004-12-12 07:53:51 +00:00
Brian Gaeke
326f378a8f hbd should be working now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18824 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 07:42:59 +00:00
Brian Gaeke
f731be0dd5 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
2004-12-12 07:42:58 +00:00
Brian Gaeke
81cf150b5d Add (currently disabled) code for canFoldSetCC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18820 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 06:22:30 +00:00
Chris Lattner
077f1a8292 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
2004-12-12 06:03:06 +00:00
Brian Gaeke
6a8c46cde3 Add stubs for setcc-branch folding support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18818 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-12 06:01:26 +00:00
Chris Lattner
96a86b2993 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
2004-12-12 05:53:50 +00:00
Chris Lattner
ef07cc5e48 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
2004-12-12 05:52:12 +00:00
Chris Lattner
a177c67471 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
2004-12-11 23:15:19 +00:00
Chris Lattner
e0e50dbb9f 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
2004-12-11 23:14:40 +00:00
Brian Gaeke
74be3a5794 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
2004-12-11 22:17:07 +00:00
Chris Lattner
f23586c7ef 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
2004-12-11 22:10:29 +00:00