Commit Graph

37 Commits

Author SHA1 Message Date
Chris Lattner
dc52353833 Run the simplify CFG pass after instcombine which has the effect of deleting
ALL of the global ctor/dtor stuff if it is not used!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6916 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-26 05:29:50 +00:00
Chris Lattner
293a33a911 Move the instcombine pass before globaldce, so that if globals are made dead by instcombine, that they can be deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6910 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-26 04:32:31 +00:00
Chris Lattner
dccb6d017b Funcresolve no longer performs nicification of resolved functions
instcombine does this


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6787 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 17:03:51 +00:00
Chris Lattner
a34f440f69 Add new DAE pass to gccld. It does not add cause any regressions in the test-suite
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6770 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 16:29:02 +00:00
Chris Lattner
e68e4d59e8 Fix formatting in file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6398 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:13:15 +00:00
Chris Lattner
6ac79d115e Add compatibility option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6354 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 19:15:11 +00:00
Brian Gaeke
69a79600cb gccld.cpp:
Fix typo in header.
 Add IsArchive static method.
 Roll LoadLibraryFromDirectory() into LoadLibrary(), and factor
  LoadLibraryExactName() out of the result. Instead of treating the current
  directory specially, just insert it into LibPaths in the beginning of
  main().
 Make LoadLibrary() take a "search" flag that says whether to search for the
  correct library, or just trust that LibName is right.
 Make LinkLibrary() take a "search" flag, and pass it to LoadLibrary().
 Change the for-loop over InputFilenames to detect ar archives and link them
  in as libraries without searching.
 Change the for-loop over Libraries to explicitly turn on the "search" flag
  to LinkLibrary() that makes LoadLibrary() search for the correct library
  (i.e., when processing -lNAME options.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6316 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23 20:27:07 +00:00
Chris Lattner
7cb77e188f Search LLVM_LIB_SEARCH_PATH for objects to allow it to find crtend.o
Implement minor library linking optimization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6181 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-13 22:14:13 +00:00
Chris Lattner
9c3b55ea9f Make sure to create a target data that matches the Module's target properties.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5904 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 19:13:02 +00:00
Chris Lattner
d34a51dbbe Add support for allowing the user to extend the GCCLD searchpath
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5825 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-21 19:53:24 +00:00
Chris Lattner
c65b104309 Eliminate useless duplicate libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19 23:07:33 +00:00
Chris Lattner
10970eb05f Add first support for linking in .a files correctly and minimally, like a real linker does
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5822 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19 22:44:38 +00:00
Chris Lattner
a856db22fa Add crufty compatibility stuff for ld
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5813 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18 23:38:22 +00:00
Chris Lattner
f3d4f178b2 Use anonymous namespace instead of "static"
Kill using decl


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5811 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18 23:01:25 +00:00
Chris Lattner
dabaa46c66 Allow the user to disable the internalize pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5792 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 21:43:22 +00:00
Chris Lattner
debb5ee6c0 Make stuff compiled with gccld not dump into the debugger if there's a problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5028 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-14 21:28:32 +00:00
Chris Lattner
50e3a20b54 Print the tool name when an error comes from so that I can tell which
tool of a pipeline is having issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3167 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-30 21:43:22 +00:00
Chris Lattner
c7a0985995 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3087 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-25 16:31:09 +00:00
Chris Lattner
ddd3e61bd3 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3044 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-24 17:12:08 +00:00
Chris Lattner
d9d8c07eea *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3040 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 22:04:43 +00:00
Chris Lattner
5ff62e90d0 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2985 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-22 02:10:13 +00:00
Chris Lattner
c5d4493041 YEs, we really do want to sort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2810 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-30 16:20:02 +00:00
Anand Shukla
cf17bcc7e7 Changes for 64bit gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2799 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 21:57:48 +00:00
Chris Lattner
0b12b5f50e MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2778 91177308-0d34-0410-b5e6-96231b3b80d8
2002-06-25 16:13:21 +00:00
Chris Lattner
a7cc6dd494 Use literal newline instead of endl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2668 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-20 19:49:24 +00:00
Chris Lattner
65f1b895bb Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 20:03:27 +00:00
Chris Lattner
2b5235d650 Oops, somehow lost a slash. Fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2524 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:39:52 +00:00
Chris Lattner
c8cc4cb03b Updates to move some header files out of include/llvm/Transforms into
the Scalar and Utils subdirectories


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2523 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-07 18:36:35 +00:00
Chris Lattner
7bf5dfec19 Run the internalize pass to mark all functions except main internal when
linking the final program to allow smarter optimizations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2364 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 05:49:45 +00:00
Chris Lattner
76d12299b5 Make sure that there is no case where a signal can occur leaving a partially
written output file.  This is important because crashing testcases often write
part of a file out, and the testing harness decides the file is up-to-date next
time the test is run.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2303 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-18 19:55:25 +00:00
Chris Lattner
f8b90ee366 * The cleangcc pass is broken into two parts, we only want to
FunctionResolvingPass one.
* We run it *after* the symbol stripping pass so that -strip can be
  pipelined with the constant merging pass or something else if desired.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2226 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:37:47 +00:00
Chris Lattner
2b59837f02 Add support for the gnu ld -s (strip) option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2157 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 05:18:12 +00:00
Chris Lattner
ad202a0620 GCCLD actually does transformations to simplify the linked program now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2155 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-08 00:14:58 +00:00
Chris Lattner
2fbfdcffd3 Change references to the Method class to be references to the Function
class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-07 20:49:59 +00:00
Chris Lattner
084235a989 Echo the right tool name on error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1865 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-12 15:41:36 +00:00
Chris Lattner
41c3465812 * Implement linking to libraries
* Pass arguments to program through shell script


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1851 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-11 17:49:53 +00:00
Chris Lattner
e7fca510f3 Initial Checkin of gccld
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1578 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-24 19:12:12 +00:00