oota-llvm.git
20 years agoGive clients of MachineFunctionPrinter the ability to specify a banner and
Brian Gaeke [Fri, 30 Jan 2004 21:53:46 +0000 (21:53 +0000)]
Give clients of MachineFunctionPrinter the ability to specify a banner and
choose an ostream.

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

20 years agoOrder #includes alphabetically, per style guide.
Misha Brukman [Fri, 30 Jan 2004 17:26:24 +0000 (17:26 +0000)]
Order #includes alphabetically, per style guide.

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

20 years agoDoxygenify comments.
Misha Brukman [Fri, 30 Jan 2004 17:22:50 +0000 (17:22 +0000)]
Doxygenify comments.

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

20 years agoFix a bug aflicting 265.gap
Chris Lattner [Thu, 29 Jan 2004 08:36:22 +0000 (08:36 +0000)]
Fix a bug aflicting 265.gap

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

20 years agoMinor bugfixes
Chris Lattner [Thu, 29 Jan 2004 03:32:15 +0000 (03:32 +0000)]
Minor bugfixes

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

20 years agoI think this is a more robust fix for the Solaris wchar problems (PR206).
Brian Gaeke [Wed, 28 Jan 2004 20:54:41 +0000 (20:54 +0000)]
I think this is a more robust fix for the Solaris wchar problems (PR206).

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

20 years agoHyphenate `target-dependent'
Misha Brukman [Wed, 28 Jan 2004 20:43:01 +0000 (20:43 +0000)]
Hyphenate `target-dependent'

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

20 years agoAdd a new (static inline) std::ostream& << AllocInfo& method. Use it.
Brian Gaeke [Wed, 28 Jan 2004 19:05:43 +0000 (19:05 +0000)]
Add a new (static inline) std::ostream& << AllocInfo& method. Use it.

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

20 years agoRename DSGraph::ScalarMapTy -> DSScalarMap
Chris Lattner [Wed, 28 Jan 2004 09:15:42 +0000 (09:15 +0000)]
Rename DSGraph::ScalarMapTy -> DSScalarMap

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

20 years agoFix a bug
Chris Lattner [Wed, 28 Jan 2004 03:31:34 +0000 (03:31 +0000)]
Fix a bug

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

20 years agoEliminate the call to removeTriviallyDeadNodes from updateFromGlobals graph,
Chris Lattner [Wed, 28 Jan 2004 03:24:41 +0000 (03:24 +0000)]
Eliminate the call to removeTriviallyDeadNodes from updateFromGlobals graph,
moving it to the start of removeDeadNodes.  This speeds up DSA by 2s on perlbmk
from 41s

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

20 years agoIn the TD pass, iterate over globals directly instead of through the whole scalar
Chris Lattner [Wed, 28 Jan 2004 03:12:48 +0000 (03:12 +0000)]
In the TD pass, iterate over globals directly instead of through the whole scalar
map.  This saves 5s in the TD pass, from 22->17s on perlbmk

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

20 years agoIn the TD pass, don't iterate over the scalar map to find the globals, iterate over
Chris Lattner [Wed, 28 Jan 2004 03:07:30 +0000 (03:07 +0000)]
In the TD pass, don't iterate over the scalar map to find the globals, iterate over
the globals directly.  This doesn't save any substantial time, however, because the
globals graph only contains globals!

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

20 years agoIn updateFromGlobalsGraph, instead of iterating over all of the scalars in the
Chris Lattner [Wed, 28 Jan 2004 03:03:06 +0000 (03:03 +0000)]
In updateFromGlobalsGraph, instead of iterating over all of the scalars in the
function to find the globals, iterate over all of the globals directly.  This
speeds the function up from 14s to 6.3s on perlbmk, reducing DSA time from
53->46s.

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

20 years agoKeep track of all of the globals inserted into the scalar map
Chris Lattner [Wed, 28 Jan 2004 03:01:22 +0000 (03:01 +0000)]
Keep track of all of the globals inserted into the scalar map

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

20 years agoPull the ScalarMap out into something that is more structured than what we had
Chris Lattner [Wed, 28 Jan 2004 02:42:12 +0000 (02:42 +0000)]
Pull the ScalarMap out into something that is more structured than what we had
before.  This allows us to have a place to implement optimizations in a
structured way.

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

20 years agoMinor tweaks, eliminate useless integer pruning optimziation, turn on
Chris Lattner [Wed, 28 Jan 2004 02:41:32 +0000 (02:41 +0000)]
Minor tweaks, eliminate useless integer pruning optimziation, turn on
timers by default

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

20 years agoFurther reduce the number of nodes cloned with getClonedNH, using merge instead.
Chris Lattner [Wed, 28 Jan 2004 02:11:49 +0000 (02:11 +0000)]
Further reduce the number of nodes cloned with getClonedNH, using merge instead.
This reduces the number of nodes allocated, then immediately merged and DNE'd
from 2193852 to 1298049.  unfortunately this only speeds DSA up by ~1.5s (of
53s), because it's spending most of its time waddling through the scalar map :(

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

20 years agoAdd a timer, fix a minor bug.
Chris Lattner [Wed, 28 Jan 2004 02:05:05 +0000 (02:05 +0000)]
Add a timer, fix a minor bug.

Also, use RC::merge when possible, reducing the number of nodes allocated, then immediately merged away from 2985444 to 2193852 on perlbmk.

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

20 years agoAnother bugfix, disable "spurious" output.
Chris Lattner [Wed, 28 Jan 2004 01:19:52 +0000 (01:19 +0000)]
Another bugfix, disable "spurious" output.

You gotta love spurious

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

20 years agofix bug in previous checkin
Chris Lattner [Tue, 27 Jan 2004 22:54:56 +0000 (22:54 +0000)]
fix bug in previous checkin

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

20 years ago* Add a new commandline argument to control the "global roots hack". Default
Chris Lattner [Tue, 27 Jan 2004 22:03:40 +0000 (22:03 +0000)]
* Add a new commandline argument to control the "global roots hack".  Default
  it to be off.  If it looks like it's completely unnecessary after testing, I
  will remove it completely (which is the hope).
* Callers of the DSNode "copy ctor" can not choose to not copy links.
* Make node collapsing not create a garbage node in some cases, avoiding a
  memory allocation, and a subsequent DNE.
* When merging types, allow two functions of different types to be merged
  without collapsing.
* Use DSNodeHandle::isNull more often instead of DSNodeHandle::getNode() == 0,
  as it is much more efficient.
*** Implement the new, more efficient reachability cloner class
    In addition to only cloning nodes that are reachable from interesting
    roots, this also fixes the huge inefficiency we had where we cloned lots
    of nodes, only to merge them away immediately after they were cloned.
    Now we only actually allocate a node if there isn't one to merge it into.
* Eliminate the now-obsolete cloneReachable* and clonePartiallyInto methods
* Rewrite updateFromGlobalsGraph to use the reachability cloner
* Rewrite mergeInGraph to use the reachability cloner
* Disable the scalar map scanning code in removeTriviallyDeadNodes.  In large
  SCC's, this is extremely expensive.  We need a better data structure for the
  scalar map, because we really want to scan the unique node handles, not ALL
  of the scalars.
* Remove the incorrect SANER_CODE_FOR_CHECKING_IF_ALL_REFERRERS_ARE_FROM_SCALARMAP code.
* Move the code for eliminating integer nodes from the trivially dead
  eliminator to the dead node eliminator.
* removeDeadNodes no longer uses removeTriviallyDeadNodes, as it contains a
  superset of the node removal power.
* Only futz around with the globals graph in removeDeadNodes if it is modified

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

20 years agoRewrite to use the reachability cloner interface. Also, make this much more
Chris Lattner [Tue, 27 Jan 2004 21:53:14 +0000 (21:53 +0000)]
Rewrite to use the reachability cloner interface.  Also, make this much more
efficient in the case where a function calls into the same graph multiple times
(ie, it either contains multiple calls to the same function, or multiple calls
to functions in the same SCC graph)

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

20 years agominor cleanups
Chris Lattner [Tue, 27 Jan 2004 21:51:19 +0000 (21:51 +0000)]
minor cleanups

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

20 years agoGet clone flags right, so we don't build InlinedGlobals only to clear them
Chris Lattner [Tue, 27 Jan 2004 21:50:41 +0000 (21:50 +0000)]
Get clone flags right, so we don't build InlinedGlobals only to clear them

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

20 years agoMinor tweaks
Chris Lattner [Tue, 27 Jan 2004 21:49:42 +0000 (21:49 +0000)]
Minor tweaks

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

20 years agoAdd comments, allow DSNode "copy ctor" to ignore outgoing links, add more
Chris Lattner [Tue, 27 Jan 2004 21:49:25 +0000 (21:49 +0000)]
Add comments, allow DSNode "copy ctor" to ignore outgoing links, add more
structured access to the globals list, add a couple helper methods.

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

20 years ago* cloneReachable* and clonePartiallyInto are not obsolete
Chris Lattner [Tue, 27 Jan 2004 21:48:35 +0000 (21:48 +0000)]
* cloneReachable* and clonePartiallyInto are not obsolete
* Make AssertNodeInGraph not be HORRIBLY time consuming
* Eliminate the dead mergeInGlobalsGraph method
*** Add the definition for the new ReachabilityCloner class

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

20 years agoStart counting projects
Chris Lattner [Tue, 27 Jan 2004 21:46:23 +0000 (21:46 +0000)]
Start counting projects

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

20 years agoFixed PR#197. The libcrtend library is removed from the library linking list
John Criswell [Mon, 26 Jan 2004 23:51:10 +0000 (23:51 +0000)]
Fixed PR#197.  The libcrtend library is removed from the library linking list
when creating native executables.

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

20 years agoClarified the extension to shared library objects.
John Criswell [Mon, 26 Jan 2004 21:26:54 +0000 (21:26 +0000)]
Clarified the extension to shared library objects.

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

20 years agoUpdating release notes for PR214.
John Criswell [Mon, 26 Jan 2004 21:03:54 +0000 (21:03 +0000)]
Updating release notes for PR214.

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

20 years agoFixes for PR214. Use the SHLIBEXT variable instead of hardcoding .so into
John Criswell [Mon, 26 Jan 2004 20:59:41 +0000 (20:59 +0000)]
Fixes for PR214.  Use the SHLIBEXT variable instead of hardcoding .so into
every file.

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

20 years agoFix a couple of places I noticed where "X86" was hard-coded.
Brian Gaeke [Sat, 24 Jan 2004 09:23:46 +0000 (09:23 +0000)]
Fix a couple of places I noticed where "X86" was hard-coded.

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

20 years agoFix failing test cases with joined live intervals. It turns out that
Alkis Evlogimenos [Fri, 23 Jan 2004 13:37:51 +0000 (13:37 +0000)]
Fix failing test cases with joined live intervals. It turns out that
when joining we need to check if we overlap with the second interval
or any of its aliases.

Also make joining intervals the default.

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

20 years agoAdd the JITInfo object, accessor & initializer.
Brian Gaeke [Fri, 23 Jan 2004 06:39:30 +0000 (06:39 +0000)]
Add the JITInfo object, accessor & initializer.

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

20 years agoAdd CodeEmitter and JITInfo stubs. Dump the old
Brian Gaeke [Fri, 23 Jan 2004 06:35:43 +0000 (06:35 +0000)]
Add CodeEmitter and JITInfo stubs. Dump the old
PowerPCTargetMachine::addPassesToJITCompile() method, in favor of the
TargetJITInfo interface.

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

20 years agoInitial support for implementing clonePartiallyInto in terms of cloneReachableSubgrap...
Chris Lattner [Fri, 23 Jan 2004 01:44:53 +0000 (01:44 +0000)]
Initial support for implementing clonePartiallyInto in terms of cloneReachableSubgraph, though this support is currently disabled.

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

20 years agoAdd new flag, other minor modifications
Chris Lattner [Fri, 23 Jan 2004 01:42:32 +0000 (01:42 +0000)]
Add new flag, other minor modifications

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

20 years agoFix grammar
Chris Lattner [Fri, 23 Jan 2004 01:42:16 +0000 (01:42 +0000)]
Fix grammar

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

20 years agoFix a problem brian ran into with the bytecode reader asserting. It turns
Chris Lattner [Fri, 23 Jan 2004 00:55:21 +0000 (00:55 +0000)]
Fix a problem brian ran into with the bytecode reader asserting.  It turns
out that the problem was actually the writer writing out a 'null' value
because it didn't normalize it.  This fixes:
test/Regression/Assembler/2004-01-22-FloatNormalization.ll

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

20 years agoNew testcase for problem brian ran into
Chris Lattner [Fri, 23 Jan 2004 00:54:26 +0000 (00:54 +0000)]
New testcase for problem brian ran into

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

20 years agoAdd option to join live intervals. Two intervals are joined if there
Alkis Evlogimenos [Thu, 22 Jan 2004 23:08:45 +0000 (23:08 +0000)]
Add option to join live intervals. Two intervals are joined if there
is a move between two registers, at least one of the registers is
virtual and the two live intervals do not overlap.

This results in about 40% reduction in intervals, 30% decrease in the
register allocators running time and a 20% increase in peephole
optimizations (mainly move eliminations).

The option can be enabled by passing -join-liveintervals where
appropriate.

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

20 years agoMove bytecode_libdir def'n to Makefile.config.in from Makefile.rules, so it
Brian Gaeke [Thu, 22 Jan 2004 22:53:48 +0000 (22:53 +0000)]
Move bytecode_libdir def'n to Makefile.config.in from Makefile.rules, so it
lives near the other installation dirs (like libdir, bindir, etc.).

Move the rule for making bytecode_libdir out of the ifdef LIBRARYNAME...endif.

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

20 years agoAdd autoconf check for the version of etags we have detected, and select
Brian Gaeke [Thu, 22 Jan 2004 21:55:15 +0000 (21:55 +0000)]
Add autoconf check for the version of etags we have detected, and select
appropriate "force C++" command-line option.

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

20 years agoRegenerated using autoconf-2.57.
Brian Gaeke [Thu, 22 Jan 2004 21:55:02 +0000 (21:55 +0000)]
Regenerated using autoconf-2.57.

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

20 years agoGet autoconf'd ETAGSFLAGS value from configure.
Brian Gaeke [Thu, 22 Jan 2004 21:55:01 +0000 (21:55 +0000)]
Get autoconf'd ETAGSFLAGS value from configure.

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

20 years agoMove support for building tags database from Makefile.rules to Makefile, because
Brian Gaeke [Thu, 22 Jan 2004 21:54:51 +0000 (21:54 +0000)]
Move support for building tags database from Makefile.rules to Makefile, because
it's only used in the top-level directory.

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

20 years agoRemove unneeded check. An interval in active, by definition overlaps
Alkis Evlogimenos [Thu, 22 Jan 2004 20:07:18 +0000 (20:07 +0000)]
Remove unneeded check. An interval in active, by definition overlaps
with the current one.

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

20 years agoImprove debugging output. Remove unneeded virtReg->0 mapping when
Alkis Evlogimenos [Thu, 22 Jan 2004 19:24:43 +0000 (19:24 +0000)]
Improve debugging output.  Remove unneeded virtReg->0 mapping when
virtReg lives on the stack. Now a virtual register has an entry in the
virtual->physical map or the virtual->stack slot map but never in
both.

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

20 years agoRevert previous change. The code was correct...
Alkis Evlogimenos [Thu, 22 Jan 2004 19:17:52 +0000 (19:17 +0000)]
Revert previous change. The code was correct...

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

20 years agoFix incorrect negatives in LiveIntervals::Interval::liveAt().
Alkis Evlogimenos [Thu, 22 Jan 2004 18:33:50 +0000 (18:33 +0000)]
Fix incorrect negatives in LiveIntervals::Interval::liveAt().

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

20 years agoEliminated the CompletedNodes argument to the cloneReachable* methods. This
Chris Lattner [Thu, 22 Jan 2004 16:56:13 +0000 (16:56 +0000)]
Eliminated the CompletedNodes argument to the cloneReachable* methods.  This
map was only used to implement a marginal GlobalsGraph optimization, and it
actually slows the analysis down (due to the overhead of keeping it), so just
eliminate it entirely.

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

20 years agoOk, I'm tired of pulling out all my timers to check stuff in, just do it.
Chris Lattner [Thu, 22 Jan 2004 16:36:28 +0000 (16:36 +0000)]
Ok, I'm tired of pulling out all my timers to check stuff in, just do it.

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

20 years agoBug fix: X.mergeWith(Y) was not updating Y if Y was a null node handle!
Chris Lattner [Thu, 22 Jan 2004 16:31:08 +0000 (16:31 +0000)]
Bug fix:  X.mergeWith(Y) was not updating Y if Y  was a null node handle!

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

20 years agoIt doesn't make sense for one side to be const, but not the other.
Chris Lattner [Thu, 22 Jan 2004 16:08:51 +0000 (16:08 +0000)]
It doesn't make sense for one side to be const, but not the other.

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

20 years agoStart implementing DSGraph::clonePartiallyInto and implement mergeInGraph
Chris Lattner [Thu, 22 Jan 2004 15:30:58 +0000 (15:30 +0000)]
Start implementing DSGraph::clonePartiallyInto and implement mergeInGraph
in terms of it.

Though clonePartiallyInto is not cloning partial graphs yet, this change
dramatically speeds up inlining of graphs with many scalars.  For example,
this change speeds up the BU pass on 253.perlbmk from 69s to 36s, because
it avoids iteration over the scalar map, which can get pretty large.

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

20 years agoRemove const qualifier (all Value*'s are nonconst in DSA, so it's not clear
Chris Lattner [Thu, 22 Jan 2004 15:26:52 +0000 (15:26 +0000)]
Remove const qualifier (all Value*'s are nonconst in DSA, so it's not clear
why this one was)

Add new method proto

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

20 years agoSpecialize std::swap correctly
Chris Lattner [Thu, 22 Jan 2004 15:26:15 +0000 (15:26 +0000)]
Specialize std::swap correctly

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

20 years agoAllow disabling of ALL printing overhead when performing timings
Chris Lattner [Thu, 22 Jan 2004 13:42:43 +0000 (13:42 +0000)]
Allow disabling of ALL printing overhead when performing timings

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

20 years agoAdd DESTDIR support for installing. Use (and depend on) $(bytecode_libdir).
Brian Gaeke [Wed, 21 Jan 2004 23:57:46 +0000 (23:57 +0000)]
Add DESTDIR support for installing.  Use (and depend on) $(bytecode_libdir).

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

20 years agoGive the ".../llvm-gcc/bytecode-libs" directory a variable of its own,
Brian Gaeke [Wed, 21 Jan 2004 23:57:21 +0000 (23:57 +0000)]
Give the ".../llvm-gcc/bytecode-libs" directory a variable of its own,
called bytecode_libdir.  Make install-bytecode-library depend on
the existence of that directory, and add a rule for creating it if
it does not exist by calling mkinstalldirs.

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

20 years agoPart 2 of DESTDIR support
Brian Gaeke [Wed, 21 Jan 2004 23:28:03 +0000 (23:28 +0000)]
Part 2 of DESTDIR support

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

20 years agoImplement ModuleProvider::materializeModule() by only materializing functions
Misha Brukman [Wed, 21 Jan 2004 22:55:34 +0000 (22:55 +0000)]
Implement ModuleProvider::materializeModule() by only materializing functions
that are still left in the lazy reader map.

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

20 years agoLet subclasses implement ModuleProvider::materializeModule() which is based on
Misha Brukman [Wed, 21 Jan 2004 22:54:50 +0000 (22:54 +0000)]
Let subclasses implement ModuleProvider::materializeModule() which is based on
their implementation of book-keeping for which functions need to be materialized
and which don't.

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

20 years agoTo materialize a module, you need to know what functions NEED to be read and
Misha Brukman [Wed, 21 Jan 2004 22:54:10 +0000 (22:54 +0000)]
To materialize a module, you need to know what functions NEED to be read and
which ones don't, which is state that the parent class doesn't know without
knowing the implementation. Let the children classes implement
materializeModule().

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

20 years agoIf you call abort(), #include <cstdlib>
Misha Brukman [Wed, 21 Jan 2004 22:50:12 +0000 (22:50 +0000)]
If you call abort(), #include <cstdlib>

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

20 years agoAdd DESTDIR support for installation, to support RPM etc.
Brian Gaeke [Wed, 21 Jan 2004 21:20:44 +0000 (21:20 +0000)]
Add DESTDIR support for installation, to support RPM etc.

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

20 years agoMaybe Misha isn't so buggy after all. He caught the rest of my huge thinko
Brian Gaeke [Wed, 21 Jan 2004 21:17:37 +0000 (21:17 +0000)]
Maybe Misha isn't so buggy after all. He caught the rest of my huge thinko
w.r.t. SHLIBEXT starting with a dot.

:-)

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

20 years agoBuild the PowerPC directory, so it is less likely to bit-rot (again)
Brian Gaeke [Wed, 21 Jan 2004 21:16:10 +0000 (21:16 +0000)]
Build the PowerPC directory, so it is less likely to bit-rot (again)

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

20 years agoImport of skeletal PowerPC backend I have had laying around for months...
Brian Gaeke [Wed, 21 Jan 2004 21:13:19 +0000 (21:13 +0000)]
Import of skeletal PowerPC backend I have had laying around for months...

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

20 years agoRemember, SHLIBEXT begins with a period.
Brian Gaeke [Wed, 21 Jan 2004 19:59:19 +0000 (19:59 +0000)]
Remember, SHLIBEXT begins with a period.

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

20 years agoModified version of patch from mkahl@apple.com to stop hardcoding ".so".
Brian Gaeke [Wed, 21 Jan 2004 19:53:11 +0000 (19:53 +0000)]
Modified version of patch from mkahl@apple.com to stop hardcoding ".so".

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

20 years agoRegenerated using autoconf-2.57 and autoheader-2.57.
Brian Gaeke [Wed, 21 Jan 2004 19:39:29 +0000 (19:39 +0000)]
Regenerated using autoconf-2.57 and autoheader-2.57.

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

20 years agoGet SHLIBEXT variable from configure script.
Brian Gaeke [Wed, 21 Jan 2004 19:39:07 +0000 (19:39 +0000)]
Get SHLIBEXT variable from configure script.

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

20 years agoGet the shlib suffix from Libtool, and define it both in config.h and Makefile.config...
Brian Gaeke [Wed, 21 Jan 2004 19:38:56 +0000 (19:38 +0000)]
Get the shlib suffix from Libtool, and define it both in config.h and Makefile.config as SHLIBEXT.

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

20 years agoSlotCalculator.h moved
Chris Lattner [Tue, 20 Jan 2004 19:50:34 +0000 (19:50 +0000)]
SlotCalculator.h moved

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

20 years agoMove SlotCalculator.h from include/llvm to include/llvm/Analysis
Chris Lattner [Tue, 20 Jan 2004 19:50:12 +0000 (19:50 +0000)]
Move SlotCalculator.h from include/llvm to include/llvm/Analysis

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

20 years agobug fixed
Chris Lattner [Tue, 20 Jan 2004 19:16:50 +0000 (19:16 +0000)]
bug fixed

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

20 years agoFix PR212 - Bytecode reader misreads 'long -9223372036854775808'!
Chris Lattner [Tue, 20 Jan 2004 19:13:07 +0000 (19:13 +0000)]
Fix PR212 - Bytecode reader misreads 'long -9223372036854775808'!
Fix testcase test/Regression/Assembler/2004-01-20-MaxLongLong.llx

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

20 years agoNew testcase for incorrect bytecode reading of MAXLONG. The reader is getting
Chris Lattner [Tue, 20 Jan 2004 19:00:12 +0000 (19:00 +0000)]
New testcase for incorrect bytecode reading of MAXLONG.  The reader is getting
it as zero.

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

20 years agoMoved iterators around.
Tanya Lattner [Tue, 20 Jan 2004 17:51:13 +0000 (17:51 +0000)]
Moved iterators around.

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

20 years agoMoved iterators to common file.
Tanya Lattner [Tue, 20 Jan 2004 17:49:42 +0000 (17:49 +0000)]
Moved iterators to common file.

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

20 years agoFix bogus warning and simplify code
Chris Lattner [Tue, 20 Jan 2004 17:06:29 +0000 (17:06 +0000)]
Fix bogus warning and simplify code

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

20 years agoMajor changes. Now we only compactify individual type planes if it is in
Chris Lattner [Tue, 20 Jan 2004 00:57:32 +0000 (00:57 +0000)]
Major changes.  Now we only compactify individual type planes if it is in
fact "profitable" to do so.  This makes compactification "free" for small
programs (ie, it is completely disabled) and even helps large programs by
not having to encode pointless compactification planes.

On 176.gcc, this saves 50K from the bytecode file, which is, alas only
a couple percent.

This concludes my head bashing against the bytecode format, at least for
now.

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

20 years agoadd a method proto, make a method not inline
Chris Lattner [Tue, 20 Jan 2004 00:54:47 +0000 (00:54 +0000)]
add a method proto, make a method not inline

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

20 years agoBugfixes for dealing with partially compactified functions
Chris Lattner [Tue, 20 Jan 2004 00:54:06 +0000 (00:54 +0000)]
Bugfixes for dealing with partially compactified functions

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

20 years agoNow with HTML 4.01 comliance flavor.
Misha Brukman [Tue, 20 Jan 2004 00:20:17 +0000 (00:20 +0000)]
Now with HTML 4.01 comliance flavor.

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

20 years agoSave another 30K from 176.gcc by encoding the compaction table a bit more
Chris Lattner [Sun, 18 Jan 2004 22:35:34 +0000 (22:35 +0000)]
Save another 30K from 176.gcc by encoding the compaction table a bit more
intelligently.

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

20 years agoRemove -debug output
Chris Lattner [Sun, 18 Jan 2004 22:26:53 +0000 (22:26 +0000)]
Remove -debug output

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

20 years agoAdd enum for compaction table.
Chris Lattner [Sun, 18 Jan 2004 21:09:23 +0000 (21:09 +0000)]
Add enum for compaction table.

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

20 years agoAdd support for writing bytecode files with compactiontables for bytecode files.
Chris Lattner [Sun, 18 Jan 2004 21:08:52 +0000 (21:08 +0000)]
Add support for writing bytecode files with compactiontables for bytecode files.
This shrinks the bytecode file for 176.gcc by about 200K (10%), and 254.gap by
about 167K, a 25% reduction.  There is still a lot of room for improvement in
the encoding of the compaction table.

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

20 years agoAdd support for reading bytecode files with compactiontables for bytecode files.
Chris Lattner [Sun, 18 Jan 2004 21:08:15 +0000 (21:08 +0000)]
Add support for reading bytecode files with compactiontables for bytecode files.
This shrinks the bytecode file for 176.gcc by about 200K (10%), and 254.gap by
about 167K, a 25% reduction.  There is still a lot of room for improvement in
the encoding of the compaction table.

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

20 years agoAdd support for building the compactiontable for bytecode files. This shrinks
Chris Lattner [Sun, 18 Jan 2004 21:07:07 +0000 (21:07 +0000)]
Add support for building the compactiontable for bytecode files.  This shrinks
the bytecode file for 176.gcc by about 200K (10%), and 254.gap by about 167K,
a 25% reduction.  There is still a lot of room for improvement in the encoding
of the compaction table.

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

20 years agoAdd support for representing the "compaction table"
Chris Lattner [Sun, 18 Jan 2004 21:03:49 +0000 (21:03 +0000)]
Add support for representing the "compaction table"
Change protected members to private.  Nothing should subclass SlotCalculator

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

20 years agoEliminate special case handling for CPR's
Chris Lattner [Sun, 18 Jan 2004 21:03:06 +0000 (21:03 +0000)]
Eliminate special case handling for CPR's
Fix some problem cases where I was building the slot calculator in bytecode
writer mode instead of asmwriter mode.

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

20 years agoClarify situation w.r.t the -lowerinvoke pass.
Chris Lattner [Sun, 18 Jan 2004 20:13:43 +0000 (20:13 +0000)]
Clarify situation w.r.t the -lowerinvoke pass.

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

20 years agoBytecode format for LLVM 1.2 no longer explicitly encodes zeros in primitive
Chris Lattner [Sat, 17 Jan 2004 23:25:43 +0000 (23:25 +0000)]
Bytecode format for LLVM 1.2 no longer explicitly encodes zeros in primitive
type planes.  This saves about 5k on 176.gcc, and is needed for a subsequent
patch of mine I'm working on.

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

20 years agofix copy-and-pasto
Chris Lattner [Sat, 17 Jan 2004 22:48:06 +0000 (22:48 +0000)]
fix copy-and-pasto

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

20 years agoRevision of Brian's threading support library to be a bit more generic and
Chris Lattner [Sat, 17 Jan 2004 19:54:29 +0000 (19:54 +0000)]
Revision of Brian's threading support library to be a bit more generic and
platform independent.  This code is completely untested (but never used),
and needs autoconf support for detecting pthreads, but it's a start, and
deletes two emails from my inbox.  :)

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