Commit Graph

15618 Commits

Author SHA1 Message Date
Reid Spencer f8d6f7e973 Add a standards section.
llvm-svn: 17921
2004-11-17 20:19:18 +00:00
Reid Spencer 91234ff57a Fix PR458:
* Don't include Makefile.rules in set of preconditions, it never has to be
  copied to objdir.
* Enable the "update makefile first before executing targets" feature in
  gnu make by *not* using a full path to the Makefile in the rule.

llvm-svn: 17920
2004-11-17 19:08:44 +00:00
Reid Spencer 67c46c8d70 Fix some things for Mac OSX archives:
* ensure trailing spaces are eliminated so they don't factor into the
  length of a member's name.
* make sure all the bytes of a name are written even if the name ends in
  multiple null characters (bug in OSX ar)
* make sure we provide the full member name when searching for symbols so
  the module name is not accidentally duplicated.

llvm-svn: 17918
2004-11-17 18:28:29 +00:00
Reid Spencer b58bf5fa28 Make sure we parse bytecode with a module identifier that reflects the full
name of the module: "Archive.a(object.o)"

llvm-svn: 17917
2004-11-17 18:25:21 +00:00
Chris Lattner d5f5288066 Make this more accurate
llvm-svn: 17916
2004-11-17 18:19:32 +00:00
Chris Lattner 1c18011de6 New prototype for lowerpacked pass.
llvm-svn: 17915
2004-11-17 18:01:49 +00:00
Chris Lattner ba18b9a0da Generalize this code to turn any cast-to-first-element-of into a gep constexpr
llvm-svn: 17914
2004-11-17 17:59:35 +00:00
Chris Lattner c368b63515 Simplify conditional and fix LICM/2004-11-17-UndefIndexCrash.ll
by saying what we mean

llvm-svn: 17913
2004-11-17 17:39:39 +00:00
Chris Lattner 9d339a75ae New testcase that crashes licm
llvm-svn: 17912
2004-11-17 17:39:19 +00:00
Chris Lattner 7a3767521d -disable-opt is not -O0, it's okay for it to disable internalize.
llvm-svn: 17911
2004-11-17 16:41:19 +00:00
Reid Spencer 1154bb6b43 Adjust long file name writing to match BSD 4.4 and Mac OSX style archives.
llvm-svn: 17910
2004-11-17 16:14:21 +00:00
Reid Spencer 0dea46fe67 Despite documentation to the contrary, Mac OSX and BSD 4.4 archive formats
*do* include the length of the long file in the length of the member and
they are *not* null terminated.

llvm-svn: 17909
2004-11-17 16:13:11 +00:00
Tanya Lattner 7beb51cd29 Added my own defMap. Only saving values that are not loop invariant. Fixed a couple of assertions that were triggered due to registers not being allocated. These both had to do with PHINodes.
llvm-svn: 17907
2004-11-16 21:31:37 +00:00
Chris Lattner 6d7c8d6801 Minor cleanup and speedup. This reduces link-time for 252.eon from 35.5s
to 34.7s with a profile build.

llvm-svn: 17906
2004-11-16 20:39:04 +00:00
Chris Lattner b38dd7cf54 Make this function work with non-abstract types.
llvm-svn: 17905
2004-11-16 20:30:53 +00:00
Chris Lattner f27514df9d Don't increment a dead iterator
llvm-svn: 17904
2004-11-16 19:04:40 +00:00
Chris Lattner 05fe0244e1 Even with -disable-opt we should still internalize and strip if requested.
llvm-svn: 17903
2004-11-16 18:59:20 +00:00
Chris Lattner 2004d90f97 Fix a major bug in the signed shr code, which apparently only breaks 134.perl!
llvm-svn: 17902
2004-11-16 18:40:52 +00:00
Reid Spencer 1b13a7cdb8 * Use low-level unix I/O interface since we're on Unix.
* Don't use variable length arrays (replaced with alloca)

llvm-svn: 17901
2004-11-16 17:14:08 +00:00
Chris Lattner 7391dde138 Simplify the remapper by only needing one map, since the body of the functions
being linked do not need to be remapped any longer.

llvm-svn: 17900
2004-11-16 17:12:38 +00:00
Reid Spencer be01508f75 Make the comment for LinkFiles a bit more precise and easily understood.
llvm-svn: 17899
2004-11-16 16:46:22 +00:00
Chris Lattner 6e7336cc81 New testcase for recent patch to SCCP, thanks to Nate Begeman for pointing
out this recent regression

llvm-svn: 17898
2004-11-16 16:39:20 +00:00
Chris Lattner 27af257ea0 Do not delete dead invoke instructions!
llvm-svn: 17897
2004-11-16 16:32:28 +00:00
Misha Brukman c356686749 Erase non-applicable Unix comment, this is Win32
llvm-svn: 17896
2004-11-16 07:35:32 +00:00
Brian Gaeke b21ea3cb41 Update list of failing benchmarks
llvm-svn: 17895
2004-11-16 07:32:58 +00:00
Brian Gaeke 97f8adffff Correct the implicit-defs information for indirect and direct calls.
You can't have implicit defs that overlap explicit defs, or implicit
defs that alias one another.

llvm-svn: 17894
2004-11-16 07:32:09 +00:00
Chris Lattner 2f0557d0e4 Take advantage of the fact that we are allowed to clobber the input module
by splicing function bodies from the src module to the destination module.

This speeds up linking quite a bit, e.g. gccld time on 176.gcc from 26s -> 20s
when forming the .rbc file, with a profile build.  One of the really strange
but cool effects of this patch is that it speeds up the optimizers as well,
from 12s -> 10.7s, presumably because of better locality???

In any case, this is just a first step.  We can trivially get rid of the
LocalMap now and do other simplifications.

llvm-svn: 17893
2004-11-16 07:31:51 +00:00
Reid Spencer 4c66d89b33 Fix typeo in comment.
llvm-svn: 17892
2004-11-16 07:05:16 +00:00
Reid Spencer 7cdcb2b0cb Remove useless #include.
Patch contributed by Jeff Cohen.

llvm-svn: 17891
2004-11-16 07:00:23 +00:00
Reid Spencer f070b6c4ac Simplify code.
Patch contributed by Jeff Cohen.

llvm-svn: 17890
2004-11-16 06:59:53 +00:00
Reid Spencer f5e3cfe6d6 Standardize on 'class' instead of 'struct'. Gets rid of warnings in VC++
Patch contributed by Jeff Cohen.

llvm-svn: 17889
2004-11-16 06:58:55 +00:00
Reid Spencer 2732be9e52 Remove dupliate buid of Signals.cpp
Patch contributed by Jeff Cohen.

llvm-svn: 17888
2004-11-16 06:57:30 +00:00
Brian Gaeke a057cd2401 Give a better message for a common assertion failure.
llvm-svn: 17887
2004-11-16 06:52:35 +00:00
Reid Spencer f0173e0c48 Add a comment to some code that at first glance just doesn't look right.
llvm-svn: 17886
2004-11-16 06:50:36 +00:00
Reid Spencer 5208a11440 Per code review:\
* Adjust indentation\
* Ensure memory do not leak if exceptions happen (std::auto_ptr use)

llvm-svn: 17885
2004-11-16 06:47:41 +00:00
Reid Spencer 8d784fbd3f Per code review:\
* Make the numVbrBytes function more efficient and better documented \
* Fix a bug in name truncation \
* Add comments before functions \
* Get rid of functions that are now inlined into the header \
* Do not have Archive doing symbol table printing \
* Put assert comments into the assert so they print out \
* Make sure foreign symbol tables are written

llvm-svn: 17884
2004-11-16 06:47:30 +00:00
Reid Spencer 4abd79e8ea Per code review:\
* Make sure we write out the foreign symbol table if we read one \
* Make the padding calculation more efficiently and avoid Solaris warnings

llvm-svn: 17883
2004-11-16 06:47:19 +00:00
Reid Spencer 40878f35de Per code review:\
* Make sure all members are initialized upon construction

llvm-svn: 17882
2004-11-16 06:47:07 +00:00
Reid Spencer 6d737f5d24 Per code review:\
* Use STL names for STL operations \
* Do not have Archive doing symbol table printing \
* Avoid compiler warnings about only having private constructors.

llvm-svn: 17881
2004-11-16 06:46:55 +00:00
Chris Lattner f2e808449d The second arg may be clobbered by this function
llvm-svn: 17880
2004-11-16 06:41:36 +00:00
Chris Lattner 5d6c23606d Document this as clobbering the second arg, make the second arg be non-const
llvm-svn: 17879
2004-11-16 06:41:21 +00:00
Reid Spencer 66dc515ed6 Per code review: \
* Make static things static \
* Get rid of unused TmpArchive variable \
* Implement symbol table printing \
* Adjust to changes in llvm::Archive interface \
* Make sure we destruct objects even if exceptions occur. \
* Fix a typo in an output string.

llvm-svn: 17878
2004-11-16 06:41:20 +00:00
Reid Spencer 9fc38b1712 Per code review: \
* hide the compatibility option \
* Make static things static \
* Use cl::extrahelp instead of cl::MoreHelp (defunct) \
* Use cl::PrintHelpMessage instead of our own printUse function \
* Use a std::set<sys::Path> for the path list because its now required by \
  the sys::Path class and also ensues directories are traversed in sorted \
  order.\
* Implement symbol table printing locally instead of in libLLVMArchive \
* Adjust to changes in llvm::Archive interface \
* Make sure we destruct objects even if exceptions occur. \
* Fix a typo in an output string.

llvm-svn: 17877
2004-11-16 06:41:09 +00:00
Reid Spencer 2df70a7e2f Per code review:\
* Get rid of memory leaks on exception \
* Provide better comments of how the memory handling works

llvm-svn: 17876
2004-11-16 06:41:05 +00:00
Chris Lattner 2981914302 use an autoptr
llvm-svn: 17875
2004-11-16 06:40:54 +00:00
Chris Lattner d308797cae Make this code not depend on LinkModules leaving the second argument unmolested.
llvm-svn: 17874
2004-11-16 06:31:38 +00:00
Reid Spencer 09e9f2a37b Per code review:
* get rid of (void) construct in function declarations
* make toString a const member
* add a default implementation of toString for Win32

llvm-svn: 17873
2004-11-16 06:22:17 +00:00
Reid Spencer 91f505eae9 Per code review:
* Clean up the StatusInfo constructor to construct all members and give
  them reasonable values.
* Get rid of the Vector typedef and make the interface to
  getDirectoryContent use a std::set instead of a std::vector so the dir
  content is sorted.
* Make the getStatusInfo method const and not return a useless boolean.

llvm-svn: 17872
2004-11-16 06:15:19 +00:00
Reid Spencer 5e5547045b Per code review:
*Implement/Document the cl::extrahelp feature instead of the MoreHelp ptr.

llvm-svn: 17871
2004-11-16 06:11:52 +00:00
Chris Lattner f242979cd0 Simplify namespaces
llvm-svn: 17870
2004-11-16 04:47:33 +00:00