oota-llvm.git
19 years agoTest reading of SVR4 style archives with llvm-ar
Reid Spencer [Fri, 19 Nov 2004 04:45:19 +0000 (04:45 +0000)]
Test reading of SVR4 style archives with llvm-ar

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

19 years agoTest case for reading SVR4 style archives.
Reid Spencer [Fri, 19 Nov 2004 04:33:13 +0000 (04:33 +0000)]
Test case for reading SVR4 style archives.

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

19 years agoDon't save an iterator, just use post-increment.
Reid Spencer [Fri, 19 Nov 2004 03:44:10 +0000 (03:44 +0000)]
Don't save an iterator, just use post-increment.

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

19 years agoSolaris built archives in SVR4 and XPG4 styles.
Reid Spencer [Fri, 19 Nov 2004 03:41:57 +0000 (03:41 +0000)]
Solaris built archives in SVR4 and XPG4 styles.

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

19 years agoEliminate unsightly ;;
Reid Spencer [Fri, 19 Nov 2004 03:27:05 +0000 (03:27 +0000)]
Eliminate unsightly ;;

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

19 years agoA test file that goes into the test archive.
Reid Spencer [Fri, 19 Nov 2004 03:24:02 +0000 (03:24 +0000)]
A test file that goes into the test archive.

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

19 years agoMake a cast explicit.
Reid Spencer [Fri, 19 Nov 2004 03:20:09 +0000 (03:20 +0000)]
Make a cast explicit.

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

19 years agoMake findModulesDefiningSymbols modify its symbols argument so we can \
Reid Spencer [Fri, 19 Nov 2004 03:18:22 +0000 (03:18 +0000)]
Make findModulesDefiningSymbols modify its symbols argument so we can \
eliminate symbols defined by the archive efficiently

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

19 years agoReduce the amount of work in LinkInArchive by not searching the archive for
Reid Spencer [Fri, 19 Nov 2004 03:13:25 +0000 (03:13 +0000)]
Reduce the amount of work in LinkInArchive by not searching the archive for
symbols it has already identified as not defining.

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

19 years agoObligatory DejaGnu/expect file.
Reid Spencer [Fri, 19 Nov 2004 02:26:35 +0000 (02:26 +0000)]
Obligatory DejaGnu/expect file.

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

19 years agoGenerate fewer reg-reg copies for the register allocator to deal with.
Nate Begeman [Fri, 19 Nov 2004 02:06:40 +0000 (02:06 +0000)]
Generate fewer reg-reg copies for the register allocator to deal with.
This eliminates over 2000 in hbd alone.

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

19 years agoFixed a typo.
Tanya Lattner [Fri, 19 Nov 2004 01:26:37 +0000 (01:26 +0000)]
Fixed a typo.

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

19 years agoAdded link to information on Statistic which is in the Programmers Manual.
Tanya Lattner [Fri, 19 Nov 2004 01:25:14 +0000 (01:25 +0000)]
Added link to information on Statistic which is in the Programmers Manual.

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

19 years agoDelete stoppoints that occur for the same source line.
Chris Lattner [Thu, 18 Nov 2004 21:41:39 +0000 (21:41 +0000)]
Delete stoppoints that occur for the same source line.

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

19 years agoAdd support for llvm.dbg.stoppoint
Chris Lattner [Thu, 18 Nov 2004 21:41:16 +0000 (21:41 +0000)]
Add support for llvm.dbg.stoppoint

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

19 years agoLine numbers are go for 1.4! :)
Chris Lattner [Thu, 18 Nov 2004 21:25:11 +0000 (21:25 +0000)]
Line numbers are go for 1.4! :)

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

19 years agolibpng is not even used by povray3.1 in the current configuration, just
Chris Lattner [Thu, 18 Nov 2004 21:21:54 +0000 (21:21 +0000)]
libpng is not even used by povray3.1 in the current configuration, just
drop it completely.

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

19 years agoAdd MMC
Chris Lattner [Thu, 18 Nov 2004 21:04:21 +0000 (21:04 +0000)]
Add MMC

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

19 years agoDuh, put tools in *bin* directory, not *tools* directory as per
Reid Spencer [Thu, 18 Nov 2004 20:04:39 +0000 (20:04 +0000)]
Duh, put tools in *bin* directory, not *tools* directory as per
PR456.

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

19 years agoRemove debugging code, unneuter this functionality
Chris Lattner [Thu, 18 Nov 2004 19:42:50 +0000 (19:42 +0000)]
Remove debugging code, unneuter this functionality

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

19 years agoremove debugging code
Chris Lattner [Thu, 18 Nov 2004 19:40:13 +0000 (19:40 +0000)]
remove debugging code

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

19 years agoFixed to fit in 80 columns.
Tanya Lattner [Thu, 18 Nov 2004 18:47:29 +0000 (18:47 +0000)]
Fixed to fit in 80 columns.

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

19 years agoAdd notes about makefile changes and llvm-ar.
Reid Spencer [Thu, 18 Nov 2004 18:38:58 +0000 (18:38 +0000)]
Add notes about makefile changes and llvm-ar.

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

19 years agoAdding option to llc for ModuloScheduling. By default it is turned off.
Tanya Lattner [Thu, 18 Nov 2004 18:38:01 +0000 (18:38 +0000)]
Adding option to llc for ModuloScheduling. By default it is turned off.

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

19 years agoThese methods are inlined
Chris Lattner [Thu, 18 Nov 2004 17:47:13 +0000 (17:47 +0000)]
These methods are inlined

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

19 years agoUpdate comments, now that CPR's are gone, inline the methods
Chris Lattner [Thu, 18 Nov 2004 17:46:57 +0000 (17:46 +0000)]
Update comments, now that CPR's are gone, inline the methods

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

19 years agoCheck in hook that I forgot
Chris Lattner [Thu, 18 Nov 2004 17:24:20 +0000 (17:24 +0000)]
Check in hook that I forgot

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

19 years agoFix PR456:\
Reid Spencer [Thu, 18 Nov 2004 10:03:46 +0000 (10:03 +0000)]
Fix PR456:\
Tools and libraries will be built into $(BUILD_OBJ_ROOT)/$(BuildMode)/bin and \
$(BUILD_OBJ_ROOT)/$(BuildMode)/lib, respectively. Furthermore, the example \
programs will go in $(BUILD_OBJ_ROOT)/$(BuildMode)/examples to keep them \
separate from the tools and hopefully out of the PATH. Install targets \
have not changed.

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

19 years agoInclude ltdl.h if we have it.
Reid Spencer [Thu, 18 Nov 2004 09:50:00 +0000 (09:50 +0000)]
Include ltdl.h if we have it.

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

19 years agoAdd checks for HAVE_LTDL_H and HAVE_LT_DLOPEN
Reid Spencer [Thu, 18 Nov 2004 09:49:13 +0000 (09:49 +0000)]
Add checks for HAVE_LTDL_H and HAVE_LT_DLOPEN

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

19 years agoChanges for testing presence of ltdl.h and lt_dlopen(), libtool functions
Reid Spencer [Thu, 18 Nov 2004 09:47:37 +0000 (09:47 +0000)]
Changes for testing presence of ltdl.h and lt_dlopen(), libtool functions
for cross-platform dynamic loading of shared objects.

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

19 years agoRewrite LoadArgumentsToVirtualRegs, making it match almost exactly how
Brian Gaeke [Thu, 18 Nov 2004 07:43:33 +0000 (07:43 +0000)]
Rewrite LoadArgumentsToVirtualRegs, making it match almost exactly how
visitCallInst works.  Support cast of byte/short/int to long.

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

19 years agoUpdate current expected failures list - expand it to include all of
Brian Gaeke [Thu, 18 Nov 2004 07:43:32 +0000 (07:43 +0000)]
Update current expected failures list - expand it to include all of
SingleSource. Update to-do list (open-coding refers to binary operations on
longs, not to passing them into functions, which we already support.)

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

19 years agoEliminate another common source of moves that the register allocator
Nate Begeman [Thu, 18 Nov 2004 07:22:46 +0000 (07:22 +0000)]
Eliminate another common source of moves that the register allocator
shouldn't be forced to coalesce for us: folded GEP operations.  This too
fires thousands of times across the testsuite.

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

19 years agoWhen accessing the base register for global variables, use the register
Nate Begeman [Thu, 18 Nov 2004 06:51:29 +0000 (06:51 +0000)]
When accessing the base register for global variables, use the register
directly rather than making a copy for the register allocator to coalesce.
This kills thousands of live intervals across the testsuite.

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

19 years ago* There is no reason for SpillWeights to be an instance var
Chris Lattner [Thu, 18 Nov 2004 06:01:45 +0000 (06:01 +0000)]
* There is no reason for SpillWeights to be an instance var
* Do not put fixed registers into the unhandled set.  This means they will
  never find their way into the inactive, active, or handled sets, so we
  can simplify a bunch of code.

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

19 years agoThere is no need to check to see if j overflowed in this loop as we're only
Chris Lattner [Thu, 18 Nov 2004 05:28:21 +0000 (05:28 +0000)]
There is no need to check to see if j overflowed in this loop as we're only
incrementing i.

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

19 years agoModerate head scratching reveals that this conditional is not needed. If
Chris Lattner [Thu, 18 Nov 2004 05:19:02 +0000 (05:19 +0000)]
Moderate head scratching reveals that this conditional is not needed.  If
i->start == j->start, then certainly i->end > j->start.

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

19 years agoClean up and fix cast codegen by removing cases that are handled elsewhere,
Nate Begeman [Thu, 18 Nov 2004 04:56:53 +0000 (04:56 +0000)]
Clean up and fix cast codegen by removing cases that are handled elsewhere,
and properly emitting signed short to unsigned int.  This fixes the last
regression vs. the CBE, MultiSource/Applications/hbd.

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

19 years agoDynamic Library abstraction. This makes the abstraction of a single dynamic
Reid Spencer [Thu, 18 Nov 2004 04:33:40 +0000 (04:33 +0000)]
Dynamic Library abstraction. This makes the abstraction of a single dynamic
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.

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

19 years agoDynamic Library abstraction. This makes the abstraction of a single dynamic
Reid Spencer [Thu, 18 Nov 2004 04:33:39 +0000 (04:33 +0000)]
Dynamic Library abstraction. This makes the abstraction of a single dynamic
library (shared library/shared object) whose symbols can be looked up
dynamically. Used for plug-ins.

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

19 years agoFix a couple of bugs where we considered physregs past their range as possibly
Chris Lattner [Thu, 18 Nov 2004 04:33:31 +0000 (04:33 +0000)]
Fix a couple of bugs where we considered physregs past their range as possibly
intersecting an interval.

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

19 years agoFix typeo
Chris Lattner [Thu, 18 Nov 2004 04:31:10 +0000 (04:31 +0000)]
Fix typeo

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

19 years agoStart using the iterators in the fixed_ intervals to avoid having to binary
Chris Lattner [Thu, 18 Nov 2004 04:13:02 +0000 (04:13 +0000)]
Start using the iterators in the fixed_ intervals to avoid having to binary
search physreg intervals every time we access it.  This takes another
half second off of linscan.

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

19 years agoTake another .7 seconds off of linear scan time.
Chris Lattner [Thu, 18 Nov 2004 04:02:11 +0000 (04:02 +0000)]
Take another .7 seconds off of linear scan time.

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

19 years agoAdd a counter for the number of times linscan has to backtrack. Start using
Chris Lattner [Thu, 18 Nov 2004 03:49:30 +0000 (03:49 +0000)]
Add a counter for the number of times linscan has to backtrack.  Start using
the iterator hints we have to speed up overlaps().  This speeds linscan up
by about .2s (out of 8.7) on 175.vpr for PPC.

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

19 years agoAdd ability to give hints to the overlaps routines.
Chris Lattner [Thu, 18 Nov 2004 03:47:34 +0000 (03:47 +0000)]
Add ability to give hints to the overlaps routines.

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

19 years ago* Improve comments/documentation substantially
Chris Lattner [Thu, 18 Nov 2004 02:42:27 +0000 (02:42 +0000)]
* Improve comments/documentation substantially
* Eliminate the releaseMemory method, this is not an analysis
* Change the fixed, active, and inactive lists of intervals to maintain an
  iterator for the current position in the interval.  This allows us to do
  constant time increments of the iterator instead of having to do a binary
  search to find our liverange in our liveinterval all of the time, which
  substantially speeds up cases where LiveIntervals have many LiveRanges
  - which is very common for physical registers.  On targets with many
  physregs, this can make a noticable difference.

  With a release build of LLC for PPC, this halves the time in
  processInactiveIntervals and processActiveIntervals, from 1.5s to .75s.

  This also lays the ground for more to come.

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

19 years agoAdd new advanceTo method
Chris Lattner [Thu, 18 Nov 2004 02:37:31 +0000 (02:37 +0000)]
Add new advanceTo method

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

19 years agoFix a minor bug in expiredAt. endNumber() is the first number that is not valid.
Chris Lattner [Thu, 18 Nov 2004 01:34:44 +0000 (01:34 +0000)]
Fix a minor bug in expiredAt.  endNumber() is the first number that is not valid.

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

19 years agoRename some methods, use 'begin' instead of 'start', add new LiveInterval
Chris Lattner [Thu, 18 Nov 2004 01:29:39 +0000 (01:29 +0000)]
Rename some methods, use 'begin' instead of 'start', add new LiveInterval
iterator/begin/end members.

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

19 years agoAllocate fewer registers and tighten up alignment restrictions.
Brian Gaeke [Thu, 18 Nov 2004 00:25:20 +0000 (00:25 +0000)]
Allocate fewer registers and tighten up alignment restrictions.

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

19 years agoUpdate to-do list.
Brian Gaeke [Wed, 17 Nov 2004 22:33:55 +0000 (22:33 +0000)]
Update to-do list.

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

19 years agoUpdate list of failing SingleSource Benchmarks
Brian Gaeke [Wed, 17 Nov 2004 22:33:28 +0000 (22:33 +0000)]
Update list of failing SingleSource Benchmarks

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

19 years agoWe were (somehow) getting the wrong branch opcode for setcc float instrs.
Brian Gaeke [Wed, 17 Nov 2004 22:06:56 +0000 (22:06 +0000)]
We were (somehow) getting the wrong branch opcode for setcc float instrs.

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

19 years agoMake ReturnInst accept a value of type void as the return value. The
Alkis Evlogimenos [Wed, 17 Nov 2004 21:02:25 +0000 (21:02 +0000)]
Make ReturnInst accept a value of type void as the return value. The
ReturnInst constructed is the same as if NULL was passed instead of
the void value.

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

19 years agoAdd a standards section.
Reid Spencer [Wed, 17 Nov 2004 20:19:18 +0000 (20:19 +0000)]
Add a standards section.

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

19 years agoFix PR458:
Reid Spencer [Wed, 17 Nov 2004 19:08:44 +0000 (19:08 +0000)]
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.

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

19 years agoFix some things for Mac OSX archives:
Reid Spencer [Wed, 17 Nov 2004 18:28:29 +0000 (18:28 +0000)]
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.

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

19 years agoMake sure we parse bytecode with a module identifier that reflects the full
Reid Spencer [Wed, 17 Nov 2004 18:25:21 +0000 (18:25 +0000)]
Make sure we parse bytecode with a module identifier that reflects the full
name of the module: "Archive.a(object.o)"

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

19 years agoMake this more accurate
Chris Lattner [Wed, 17 Nov 2004 18:19:32 +0000 (18:19 +0000)]
Make this more accurate

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

19 years agoNew prototype for lowerpacked pass.
Chris Lattner [Wed, 17 Nov 2004 18:01:49 +0000 (18:01 +0000)]
New prototype for lowerpacked pass.

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

19 years agoGeneralize this code to turn any cast-to-first-element-of into a gep constexpr
Chris Lattner [Wed, 17 Nov 2004 17:59:35 +0000 (17:59 +0000)]
Generalize this code to turn any cast-to-first-element-of into a gep constexpr

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

19 years agoSimplify conditional and fix LICM/2004-11-17-UndefIndexCrash.ll
Chris Lattner [Wed, 17 Nov 2004 17:39:39 +0000 (17:39 +0000)]
Simplify conditional and fix LICM/2004-11-17-UndefIndexCrash.ll
by saying what we mean

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

19 years agoNew testcase that crashes licm
Chris Lattner [Wed, 17 Nov 2004 17:39:19 +0000 (17:39 +0000)]
New testcase that crashes licm

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

19 years ago-disable-opt is not -O0, it's okay for it to disable internalize.
Chris Lattner [Wed, 17 Nov 2004 16:41:19 +0000 (16:41 +0000)]
-disable-opt is not -O0, it's okay for it to disable internalize.

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

19 years agoAdjust long file name writing to match BSD 4.4 and Mac OSX style archives.
Reid Spencer [Wed, 17 Nov 2004 16:14:21 +0000 (16:14 +0000)]
Adjust long file name writing to match BSD 4.4 and Mac OSX style archives.

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

19 years agoDespite documentation to the contrary, Mac OSX and BSD 4.4 archive formats
Reid Spencer [Wed, 17 Nov 2004 16:13:11 +0000 (16:13 +0000)]
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.

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

19 years agoAdded my own defMap. Only saving values that are not loop invariant. Fixed a couple...
Tanya Lattner [Tue, 16 Nov 2004 21:31:37 +0000 (21:31 +0000)]
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.

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

19 years agoMinor cleanup and speedup. This reduces link-time for 252.eon from 35.5s
Chris Lattner [Tue, 16 Nov 2004 20:39:04 +0000 (20:39 +0000)]
Minor cleanup and speedup.  This reduces link-time for 252.eon from 35.5s
to 34.7s with a profile build.

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

19 years agoMake this function work with non-abstract types.
Chris Lattner [Tue, 16 Nov 2004 20:30:53 +0000 (20:30 +0000)]
Make this function work with non-abstract types.

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

19 years agoDon't increment a dead iterator
Chris Lattner [Tue, 16 Nov 2004 19:04:40 +0000 (19:04 +0000)]
Don't increment a dead iterator

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

19 years agoEven with -disable-opt we should still internalize and strip if requested.
Chris Lattner [Tue, 16 Nov 2004 18:59:20 +0000 (18:59 +0000)]
Even with -disable-opt we should still internalize and strip if requested.

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

19 years agoFix a major bug in the signed shr code, which apparently only breaks 134.perl!
Chris Lattner [Tue, 16 Nov 2004 18:40:52 +0000 (18:40 +0000)]
Fix a major bug in the signed shr code, which apparently only breaks 134.perl!

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

19 years ago* Use low-level unix I/O interface since we're on Unix.
Reid Spencer [Tue, 16 Nov 2004 17:14:08 +0000 (17:14 +0000)]
* Use low-level unix I/O interface since we're on Unix.
* Don't use variable length arrays (replaced with alloca)

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

19 years agoSimplify the remapper by only needing one map, since the body of the functions
Chris Lattner [Tue, 16 Nov 2004 17:12:38 +0000 (17:12 +0000)]
Simplify the remapper by only needing one map, since the body of the functions
being linked do not need to be remapped any longer.

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

19 years agoMake the comment for LinkFiles a bit more precise and easily understood.
Reid Spencer [Tue, 16 Nov 2004 16:46:22 +0000 (16:46 +0000)]
Make the comment for LinkFiles a bit more precise and easily understood.

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

19 years agoNew testcase for recent patch to SCCP, thanks to Nate Begeman for pointing
Chris Lattner [Tue, 16 Nov 2004 16:39:20 +0000 (16:39 +0000)]
New testcase for recent patch to SCCP, thanks to Nate Begeman for pointing
out this recent regression

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

19 years agoDo not delete dead invoke instructions!
Chris Lattner [Tue, 16 Nov 2004 16:32:28 +0000 (16:32 +0000)]
Do not delete dead invoke instructions!

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

19 years agoErase non-applicable Unix comment, this is Win32
Misha Brukman [Tue, 16 Nov 2004 07:35:32 +0000 (07:35 +0000)]
Erase non-applicable Unix comment, this is Win32

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

19 years agoUpdate list of failing benchmarks
Brian Gaeke [Tue, 16 Nov 2004 07:32:58 +0000 (07:32 +0000)]
Update list of failing benchmarks

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

19 years agoCorrect the implicit-defs information for indirect and direct calls.
Brian Gaeke [Tue, 16 Nov 2004 07:32:09 +0000 (07:32 +0000)]
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.

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

19 years agoTake advantage of the fact that we are allowed to clobber the input module
Chris Lattner [Tue, 16 Nov 2004 07:31:51 +0000 (07:31 +0000)]
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.

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

19 years agoFix typeo in comment.
Reid Spencer [Tue, 16 Nov 2004 07:05:16 +0000 (07:05 +0000)]
Fix typeo in comment.

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

19 years agoRemove useless #include.
Reid Spencer [Tue, 16 Nov 2004 07:00:23 +0000 (07:00 +0000)]
Remove useless #include.

Patch contributed by Jeff Cohen.

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

19 years agoSimplify code.
Reid Spencer [Tue, 16 Nov 2004 06:59:53 +0000 (06:59 +0000)]
Simplify code.

Patch contributed by Jeff Cohen.

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

19 years agoStandardize on 'class' instead of 'struct'. Gets rid of warnings in VC++
Reid Spencer [Tue, 16 Nov 2004 06:58:55 +0000 (06:58 +0000)]
Standardize on 'class' instead of 'struct'. Gets rid of warnings in VC++

Patch contributed by Jeff Cohen.

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

19 years agoRemove dupliate buid of Signals.cpp
Reid Spencer [Tue, 16 Nov 2004 06:57:30 +0000 (06:57 +0000)]
Remove dupliate buid of Signals.cpp

Patch contributed by Jeff Cohen.

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

19 years agoGive a better message for a common assertion failure.
Brian Gaeke [Tue, 16 Nov 2004 06:52:35 +0000 (06:52 +0000)]
Give a better message for a common assertion failure.

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

19 years agoAdd a comment to some code that at first glance just doesn't look right.
Reid Spencer [Tue, 16 Nov 2004 06:50:36 +0000 (06:50 +0000)]
Add a comment to some code that at first glance just doesn't look right.

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

19 years agoPer code review:\
Reid Spencer [Tue, 16 Nov 2004 06:47:41 +0000 (06:47 +0000)]
Per code review:\
* Adjust indentation\
* Ensure memory do not leak if exceptions happen (std::auto_ptr use)

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

19 years agoPer code review:\
Reid Spencer [Tue, 16 Nov 2004 06:47:30 +0000 (06:47 +0000)]
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

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

19 years agoPer code review:\
Reid Spencer [Tue, 16 Nov 2004 06:47:19 +0000 (06:47 +0000)]
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

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

19 years agoPer code review:\
Reid Spencer [Tue, 16 Nov 2004 06:47:07 +0000 (06:47 +0000)]
Per code review:\
* Make sure all members are initialized upon construction

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

19 years agoPer code review:\
Reid Spencer [Tue, 16 Nov 2004 06:46:55 +0000 (06:46 +0000)]
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.

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

19 years agoThe second arg may be clobbered by this function
Chris Lattner [Tue, 16 Nov 2004 06:41:36 +0000 (06:41 +0000)]
The second arg may be clobbered by this function

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

19 years agoDocument this as clobbering the second arg, make the second arg be non-const
Chris Lattner [Tue, 16 Nov 2004 06:41:21 +0000 (06:41 +0000)]
Document this as clobbering the second arg, make the second arg be non-const

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

19 years agoPer code review: \
Reid Spencer [Tue, 16 Nov 2004 06:41:20 +0000 (06:41 +0000)]
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.

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

19 years agoPer code review: \
Reid Spencer [Tue, 16 Nov 2004 06:41:09 +0000 (06:41 +0000)]
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.

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

19 years agoPer code review:\
Reid Spencer [Tue, 16 Nov 2004 06:41:05 +0000 (06:41 +0000)]
Per code review:\
* Get rid of memory leaks on exception \
* Provide better comments of how the memory handling works

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