Chris Lattner [Wed, 9 Aug 2006 04:10:32 +0000 (04:10 +0000)]
Update from Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29573
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Aug 2006 04:08:52 +0000 (04:08 +0000)]
Fixes from Anton Vayvod and Gabor Greif!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29572
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 8 Aug 2006 20:35:03 +0000 (20:35 +0000)]
change the addressing mode of the str instruction to reg+imm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29571
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Aug 2006 17:27:28 +0000 (17:27 +0000)]
First draft of the llvm 1.8 release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29570
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 8 Aug 2006 14:47:54 +0000 (14:47 +0000)]
Describe and date modifications we made per LGPL requirements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29569
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 8 Aug 2006 14:47:33 +0000 (14:47 +0000)]
Make information more complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29568
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 8 Aug 2006 13:02:29 +0000 (13:02 +0000)]
initial support for variable number of arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29567
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Aug 2006 02:23:42 +0000 (02:23 +0000)]
Start eliminating temporary vectors used to create DAG nodes. Instead, pass
in the start of an array and a count of operands where applicable. In many
cases, the number of operands is known, so this static array can be allocated
on the stack, avoiding the heap. In many other cases, a SmallVector can be
used, which has the same benefit in the common cases.
I updated a lot of code calling getNode that takes a vector, but ran out of
time. The rest of the code should be updated, and these methods should be
removed.
We should also do the same thing to eliminate the methods that take a
vector of MVT::ValueTypes.
It would be extra nice to convert the dagiselemitter to avoid creating vectors
for operands when calling getTargetNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29566
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Tue, 8 Aug 2006 02:03:53 +0000 (02:03 +0000)]
Removed unneccesary output from nightly tester
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29565
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Aug 2006 01:54:17 +0000 (01:54 +0000)]
capacity is a pointer, not a value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29564
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 8 Aug 2006 01:48:17 +0000 (01:48 +0000)]
Update the instructions for writing a pass as a loadable module per the
new definition in MakefileGuilde.html and Makefile.rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Aug 2006 01:44:16 +0000 (01:44 +0000)]
add a new assign method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Aug 2006 01:09:31 +0000 (01:09 +0000)]
Eliminate some malloc traffic by allocating vectors on the stack. Change some
method that took std::vector<SDOperand> to take a pointer to a first operand
and #operands.
This speeds up isel on kc++ by about 3%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Aug 2006 00:37:50 +0000 (00:37 +0000)]
Add ctor that initializes from a range.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29560
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 8 Aug 2006 00:31:00 +0000 (00:31 +0000)]
Eliminate reachability matrix. It has to be calculated before any instruction
selection is done. That's rather expensive especially in situations where it
isn't really needed.
Move back to a searching the predecessors, but make use of topological order
to trim the search space.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29559
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 7 Aug 2006 23:58:47 +0000 (23:58 +0000)]
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29558
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 7 Aug 2006 23:44:59 +0000 (23:44 +0000)]
Fix an anchor name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29557
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Aug 2006 23:41:59 +0000 (23:41 +0000)]
Remove assertions from the SmallVector class. They slow down clients of
smallvector too much in a release build. Removing them speeds up isel 4%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29556
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Aug 2006 23:31:24 +0000 (23:31 +0000)]
New CSEMap datastructure impl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29555
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 7 Aug 2006 23:23:39 +0000 (23:23 +0000)]
Make the name of the project consistent with that specified in the
configure.ac file. This fixes some case-consistency issues between the name
of the tarball created by "make dist" and the tarball used for source when
building the LLVM RPM package.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29554
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 7 Aug 2006 23:20:15 +0000 (23:20 +0000)]
Remove the use of "IncludeFile" from this support facility. The mechanism
to build a loadable module is now correctly defined and documented so this
workaround isn't needed any longer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29553
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 7 Aug 2006 23:17:24 +0000 (23:17 +0000)]
Make this example pass use some things from lib/Support (EscapeString,
SlowOperatingInfo, Statistics). Besides providing an example of how to
use these facilities, it also serves to debug problems with runtime linking
when dlopening a loadable module. These three support facilities exercise
different combinations of Text/Weak Weak/Text and Text/Text linking
between the executable and the module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29552
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 7 Aug 2006 23:12:15 +0000 (23:12 +0000)]
For PR780:
1. Change the usage of LOADABLE_MODULE so that it implies all the things
necessary to make a loadable module. This reduces the user's burdern to
get a loadable module correctly built.
2. Document the usage of LOADABLE_MODULE in the MakefileGuide
3. Adjust the makefile for lib/Transforms/Hello to use the new specification
for building loadable modules
4. Adjust the sample project to not attempt to build a shared library for
its little library. This was just wasteful and not instructive at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29551
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Aug 2006 23:03:03 +0000 (23:03 +0000)]
Revamp the "CSEMap" datastructure used in the SelectionDAG class. This
eliminates a bunch of std::map's in the SelectionDAG, replacing them with a
home-grown hashtable.
This is still a work in progress: not all the maps have been moved over and the
hashtable never resizes. That said, this still speeds up llc 20% on kimwitu++
with -fast -regalloc=local using a release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29550
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 7 Aug 2006 22:28:20 +0000 (22:28 +0000)]
Match tablegen isel changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29549
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 7 Aug 2006 22:17:58 +0000 (22:17 +0000)]
Making TableGen'd instruction selection code non-recursive. This fixes PR805.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29548
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 7 Aug 2006 22:16:08 +0000 (22:16 +0000)]
Move DAGSize to SelectionDAGISel; it's used in tablegen'd isel code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29547
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 7 Aug 2006 22:13:29 +0000 (22:13 +0000)]
Clear TopOrder before assigning topological order. Some clean ups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29546
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 7 Aug 2006 22:12:12 +0000 (22:12 +0000)]
Reverse the FlaggedNodes after scanning up for flagged preds or else the order would be reversed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29545
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 7 Aug 2006 21:02:39 +0000 (21:02 +0000)]
Make XMM, FP register dwarf register numbers consistent with gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29543
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Aug 2006 05:45:34 +0000 (05:45 +0000)]
Add a clear method to SmallVector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29542
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 7 Aug 2006 05:36:24 +0000 (05:36 +0000)]
Remove extraneous #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29541
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 7 Aug 2006 05:34:08 +0000 (05:34 +0000)]
Make the removal of files use Path::eraseFromDisk just like it does for
the removal of directories. Using std::remove is indiscriminate and can
lead to the removal of things like /dev/null if run as root. The
Path::eraseFromDisk method ensures that we only ever remove regular files
or directories, but never character or block special nodes. This should
clear up the problem with usage like: llvm-as -o /dev/null which is used
in the llvm-test makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29540
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 7 Aug 2006 05:20:05 +0000 (05:20 +0000)]
Add a note about how the "isFile" check in Path::eraseFromDisk prevents
the erasure of non-file paths like /dev/null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29539
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Mon, 7 Aug 2006 01:54:37 +0000 (01:54 +0000)]
Reinstated the sending of a list of all dejagnutests run. Also fixed a rather embarresing error introduced during version 1.41 where i commented out the actual sending of the data to the results server.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29538
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Sun, 6 Aug 2006 21:47:43 +0000 (21:47 +0000)]
no longer sending the list of all dejagnu tests because it is too big at the present time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29537
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Aug 2006 18:12:50 +0000 (18:12 +0000)]
Silence a warning on x86-64, reported by chandlerc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29535
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 5 Aug 2006 17:31:00 +0000 (17:31 +0000)]
This causes some random crashes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29534
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 4 Aug 2006 22:55:53 +0000 (22:55 +0000)]
Fixed typo. Thanks, Reid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29533
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 4 Aug 2006 21:52:23 +0000 (21:52 +0000)]
Removed usage of "sort", which can lead to undeterministic behavior on mingw & cygwin platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29532
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Fri, 4 Aug 2006 21:42:58 +0000 (21:42 +0000)]
Changed a = to a .= so we now append tests we have performed to the master list of all tests instead of assigning it as the master list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29531
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 4 Aug 2006 19:10:26 +0000 (19:10 +0000)]
Collect references from globals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29530
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 4 Aug 2006 18:18:08 +0000 (18:18 +0000)]
Update the auto* tools: autoconf 2.60, libtool 1.5.22, automake 1.9.6.
Update ltld.[ch] to version 1.5.22.
Correct the notes about updating these tools (autoconf/README.TXT)
Add configure options for getting the correct option for including a whole
archive when linking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29529
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 4 Aug 2006 18:10:12 +0000 (18:10 +0000)]
Added how to add machine passes to command line options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29528
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Aug 2006 18:09:27 +0000 (18:09 +0000)]
converge on the right number of %'s :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29527
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Fri, 4 Aug 2006 17:55:01 +0000 (17:55 +0000)]
Made some more changes to the print statements in the nightly tester. The last commit was a preemptive strike.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29526
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Fri, 4 Aug 2006 17:53:27 +0000 (17:53 +0000)]
Encapsulated all of the print statements in "if( $VERBOSE) { }". The testing script will be absoutely silent now except for errors, which will still be printed to the annoyance of the user.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29525
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Aug 2006 17:45:20 +0000 (17:45 +0000)]
Make SelectionDAG::RemoveDeadNodes iterative instead of recursive, which
also make it simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29524
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Fri, 4 Aug 2006 17:40:54 +0000 (17:40 +0000)]
We should now send the correct list of dejagnu tests instead of the csv file of test results when we submit results back to the nightly tester.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29523
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 4 Aug 2006 17:35:18 +0000 (17:35 +0000)]
Use the %llvm-gcc% variable to find llvm-gcc for those of us that don't
have it in our path and to ensure it uses the configured llvm-gcc not just
any one randomly placed in the path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29522
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 4 Aug 2006 12:48:42 +0000 (12:48 +0000)]
use a 'register pressure reducing' scheduler
make sure only one move is used in a hello world
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29520
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 3 Aug 2006 22:50:11 +0000 (22:50 +0000)]
Bug fix: always generate a RET_FLAG in LowerRET
fixes ret_null.ll and call.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29519
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 22:14:43 +0000 (22:14 +0000)]
updated CVS server location
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29518
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 3 Aug 2006 21:46:42 +0000 (21:46 +0000)]
For PR845:
Enable the makefile check on the result of find-cycles.pl. LLVM is now
cycle free and we intend to keep it that way. This patch will fail the
build if cycles are found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29517
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 3 Aug 2006 21:45:35 +0000 (21:45 +0000)]
Fix a typo in the name of expand_dependencies.
Make the dependency line pattern match handle white space better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29516
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 21:40:24 +0000 (21:40 +0000)]
Fix PR867 (and maybe 868) and testcsae:
Transforms/SimplifyCFG/2006-08-03-Crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29515
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 21:39:41 +0000 (21:39 +0000)]
new testcase for pr867
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29514
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 3 Aug 2006 20:56:35 +0000 (20:56 +0000)]
Applying for all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29512
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 3 Aug 2006 20:51:06 +0000 (20:51 +0000)]
Copy the liveins for the first block. PR859
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29511
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 3 Aug 2006 20:49:29 +0000 (20:49 +0000)]
Make all the schedulers continue to work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29510
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 3 Aug 2006 19:10:03 +0000 (19:10 +0000)]
Print an error message if the lib directory (first argument) is not a
directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29508
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 18:57:28 +0000 (18:57 +0000)]
update comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29507
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 18:55:44 +0000 (18:55 +0000)]
remove some more dead sparcv9 support stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29506
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 18:51:04 +0000 (18:51 +0000)]
remove a dead proto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29505
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 3 Aug 2006 17:27:09 +0000 (17:27 +0000)]
Get darwin intel debugging up and running.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29504
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 3 Aug 2006 17:26:30 +0000 (17:26 +0000)]
Make it fit into 80-columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29503
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 3 Aug 2006 17:25:36 +0000 (17:25 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29502
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 3 Aug 2006 17:18:45 +0000 (17:18 +0000)]
Simplify. Use addprefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29501
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 3 Aug 2006 17:02:20 +0000 (17:02 +0000)]
add and use ARMISD::RET_FLAG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29499
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 16:59:17 +0000 (16:59 +0000)]
Now that SparcV9 is gone, this logical can be simplified significantly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29498
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 3 Aug 2006 16:34:35 +0000 (16:34 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29497
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Thu, 3 Aug 2006 16:28:58 +0000 (16:28 +0000)]
One of the directories we were searching in for .o and .a files was wrong. We now search /lib instead of /libs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29496
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 3 Aug 2006 16:14:09 +0000 (16:14 +0000)]
Remove ARM for the moment since it is a work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29495
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 3 Aug 2006 15:44:57 +0000 (15:44 +0000)]
Add new tool, lto, to do link time optimization. This tool installs
dynamic library that linker can use to optimize llvm byte codes at
link time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29494
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 06:34:50 +0000 (06:34 +0000)]
Changes:
1. Update an obsolete comment.
2. Make the sorting by base an explicit (though still N^2) step, so
that the code is more clear on what it is doing.
3. Partition uses so that uses inside the loop are handled before uses
outside the loop.
Note that none of these changes currently changes the code inserted by LSR,
but they are a stepping stone to getting there.
This code is the result of some crazy pair programming with Nate. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29493
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 00:42:26 +0000 (00:42 +0000)]
Remove some extraneous newlines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29492
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 00:26:13 +0000 (00:26 +0000)]
Really add support for compilers without noinline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29491
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 00:18:59 +0000 (00:18 +0000)]
Work around a GCC 3.3.5 bug noticed by a user.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Aug 2006 00:16:56 +0000 (00:16 +0000)]
Work around a bug in gcc 3.3.5, reported by a user
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29489
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Wed, 2 Aug 2006 23:48:07 +0000 (23:48 +0000)]
We now only search the following directories for .o and .a files:
utils/
libs/
tools/
Release/ & Debug/
as per Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29488
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 2 Aug 2006 22:01:32 +0000 (22:01 +0000)]
Reflect change to AssignTopologicalOrder().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29480
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 2 Aug 2006 22:00:34 +0000 (22:00 +0000)]
- Change AssignTopologicalOrder to return vector of SDNode* by reference.
- Tweak implementation to avoid using std::map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29479
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 2 Aug 2006 21:58:44 +0000 (21:58 +0000)]
AssignTopologicalOrder now returns the vector of SDNode* by reference to
avoid the expensive operation of copying a vector.
It also returns a maximum id by value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29478
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 2 Aug 2006 20:15:56 +0000 (20:15 +0000)]
If the Program name was NULL then all further output sent to std::cerr was
suppressed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29477
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrick Jenkins [Wed, 2 Aug 2006 18:37:40 +0000 (18:37 +0000)]
Removed some dead code and hopefully fixed the issue where the total list of tests was not being sent
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29476
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 2 Aug 2006 12:30:23 +0000 (12:30 +0000)]
Final polish on machine pass registries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29471
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 2 Aug 2006 12:27:50 +0000 (12:27 +0000)]
Breaking out specialized classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29470
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 2 Aug 2006 09:18:33 +0000 (09:18 +0000)]
Use of vector<bool> causes some horrendous compile time regression (2x)!
Looks like libstdc++ implementation does not scale very well. Switch back
to using directly managed arrays.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29469
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 2 Aug 2006 05:31:20 +0000 (05:31 +0000)]
Update the readme to remove duplicate information and clarify the loop
problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29468
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 2 Aug 2006 05:29:40 +0000 (05:29 +0000)]
Disable LSR at -fast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29467
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Aug 2006 00:16:47 +0000 (00:16 +0000)]
Add special check to avoid isLoop call. Simple, but doesn't seem to speed
up lcssa much in practice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29465
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Aug 2006 00:14:16 +0000 (00:14 +0000)]
Speed up Loop::isLCSSAForm by using a binary search and single-entry cache.
This reduces LCSSA pass time from 1.5s to 0.96s when run on eon in release+asserts mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29464
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Aug 2006 00:06:09 +0000 (00:06 +0000)]
Replace the SSA update code in LCSSA with a bottom-up approach instead of a top
down approach, inspired by discussions with Tanya.
This approach is significantly faster, because it does not need dominator
frontiers and it does not insert extraneous unused PHI nodes. For example, on
252.eon, in a release-asserts build, this speeds up LCSSA (which is the slowest
pass in gccas) from 9.14s to 0.74s on my G5. This code is also slightly smaller
and significantly simpler than the old code.
Amusingly, in a normal Release build (which includes the
"assert(L->isLCSSAForm());" assertion), asserting that the result of LCSSA
is in LCSSA form is actually slower than the LCSSA transformation pass
itself on 252.eon. I will see if Loop::isLCSSAForm can be sped up next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29463
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Aug 2006 22:34:35 +0000 (22:34 +0000)]
Fix the build on case-sensitive filesystems :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29457
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Aug 2006 22:24:47 +0000 (22:24 +0000)]
Add dominates/properlyDominates queries to IDom.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29456
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 1 Aug 2006 19:14:14 +0000 (19:14 +0000)]
Now that the ISel is available, it's possible to create a default instruction
scheduler creator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29452
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 1 Aug 2006 18:53:10 +0000 (18:53 +0000)]
start comments with #
move the constant pool to .text
correctly print loads of labels
mark R0, R1, R2 and R3 as caller save
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29451
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 1 Aug 2006 18:29:48 +0000 (18:29 +0000)]
1. Change use of "Cache" to "Default".
2. Added argument to instruction scheduler creators so the creators can do
special things.
3. Repaired target hazard code.
4. Misc.
More to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29450
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Aug 2006 18:22:21 +0000 (18:22 +0000)]
no need to check readability here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29449
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 1 Aug 2006 18:16:02 +0000 (18:16 +0000)]
Remove some now-dead methods. Use getFileStatus instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29447
91177308-0d34-0410-b5e6-
96231b3b80d8