Chris Lattner
f9f37fc52c
eliminate use of getNode that takes vector of valuetypes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29687 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:53:35 +00:00
Chris Lattner
2fa6d3b1fc
Add a new getNode() method that takes a pointer to an already-intern'd list
...
of value-type nodes. This avoids having to do mallocs for std::vectors of
valuetypes when a node returns more than one type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29685 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:31:51 +00:00
Chris Lattner
e51ee04c3d
remove SelectionDAG::InsertISelMapEntry, it is dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29677 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:24:39 +00:00
Chris Lattner
213a16c637
Add code to resize the CSEMap hash table. This doesn't speedup codegen of
...
kimwitu, but seems like a good idea from a "avoid performance cliffs" standpoint :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29675 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:19:25 +00:00
Chris Lattner
df32aac51b
Handle single-entry PHI nodes correctly. This fixes PR877 and
...
Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29673 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 21:38:05 +00:00
Chris Lattner
130fc13506
Add the actual constant to the hash for ConstantPool nodes. Thanks to
...
Rafael Espindola for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 20:12:44 +00:00
Rafael Espindola
61369da0e5
select code like
...
ldr rx, [ry, #offset]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29664 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 19:01:24 +00:00
Nate Begeman
52a51e38dc
Emit .set directives for jump table entries when possible, which reduces
...
the number of relocations in object files, shrinkifying them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29650 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 21:29:52 +00:00
Chris Lattner
f6e190fae0
Fix a bug in a recent refactoring that broke a bunch of stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29649 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 07:20:05 +00:00
Chris Lattner
103de7785a
Fix an obvious bug, noticed by inspection. No current targets trigger this.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29648 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 05:41:39 +00:00
Chris Lattner
3bb4657488
Don't attempt to split subloops out of a loop with a huge number of backedges.
...
Not only will this take huge amounts of compile time, the resultant loop nests
won't be useful for optimization. This reduces loopsimplify time on
Transforms/LoopSimplify/2006-08-11-LoopSimplifyLongTime.ll from ~32s to ~0.4s
with a debug build of llvm on a 2.7Ghz G5.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29647 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 05:25:00 +00:00
Chris Lattner
69b3992154
Make Loop::getExitBlocks significantly faster for large loops. Instead of
...
pounding on Loop::contains (which is O(n) in the size of the loop), use a
sorted vector, which is O(log(N)) for each query. This speeds up Duraid's
horrible testcase from ~72s to ~31s in a debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29645 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 05:02:03 +00:00
Chris Lattner
fa78946482
Reimplement the loopsimplify code which deletes edges from unreachable
...
blocks that target loop blocks.
Before, the code was run once per loop, and depended on the number of
predecessors each block in the loop had. Unfortunately, scanning preds can
be really slow when huge numbers of phis exist or when phis with huge numbers
of inputs exist.
Now, the code is run once per function and scans successors instead of preds,
which is far faster. In addition, the new code is simpler and is goto free,
woo.
This change speeds up a nasty testcase Duraid provided me from taking hours to
taking ~72s with a debug build. The functionality this implements is already
tested in the testsuite as Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29644 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 04:51:20 +00:00
Chris Lattner
dd28900168
Switch to using SuperFastHash instead of adding all elements together. This
...
doesn't significantly improve performance but it helps a small amount.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29642 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 01:07:10 +00:00
Chris Lattner
7ed9ea81f8
Switch NodeID to track 32-bit chunks instead of 8-bit chunks, for a 2.5%
...
speedup in isel time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29640 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:55:53 +00:00
Chris Lattner
f42d1ddb18
remove IncludeFile turds in MathExtras.h, which bloats every .o file that
...
#includes it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29639 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:52:54 +00:00
Chris Lattner
c9f8f41680
Remove 8 more std::map's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29631 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:55:30 +00:00
Chris Lattner
2b5a82fe1d
eliminate extraneous blank line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29627 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:08:16 +00:00
Chris Lattner
61b09412fe
Move the BBNodes, GlobalValues, TargetGlobalValues, Constants, TargetConstants,
...
RegNodes, and ValueNodes maps into the CSEMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29626 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:01:22 +00:00
Chris Lattner
4a283e90af
eliminate the NullaryOps map, use CSEMap instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29621 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 18:38:11 +00:00
Chris Lattner
3577e38c2b
change internal impl of dag combiner so that calls to CombineTo never have to
...
make a temporary vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29618 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:56:38 +00:00
Chris Lattner
b9ea4a39b8
Change one ReplaceAllUsesWith method to take an array of operands to replace
...
instead of a vector of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29616 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:46:28 +00:00
Chris Lattner
e219945348
Eliminate use of getNode that takes a vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29614 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:38:39 +00:00
Chris Lattner
8742867f95
elimiante use of getNode that takes vector of operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29612 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:22:35 +00:00
Chris Lattner
e0e42d457e
eliminate use of getNode that takes vector of operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29611 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:21:12 +00:00
Chris Lattner
e21492bc4e
eliminate use of getNode that takes vector<SDOperand>. Wrap a really long line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29610 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:19:54 +00:00
Chris Lattner
79e490aa23
Convert vectors to fixed sized arrays and smallvectors. Eliminate use of getNode that takes a vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29609 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:18:05 +00:00
Chris Lattner
325f0a129e
Fix miscompilation of float vector returns. Compile code to this:
...
_func:
vsldoi v2, v3, v2, 12
vsldoi v2, v2, v2, 4
blr
instead of:
_func:
vsldoi v2, v3, v2, 12
vsldoi v2, v2, v2, 4
*** vor f1, v2, v2
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29607 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 16:47:32 +00:00
Evan Cheng
64a752f7c7
Match tablegen changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29604 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 09:08:15 +00:00
Evan Cheng
bb7b844bec
CALLSEQ_* produces chain even if that's not needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29603 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 09:03:33 +00:00
Evan Cheng
311ace0391
Convert more calls of getNode() that takes a vector to pass in the start of an array.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29601 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 07:35:45 +00:00
Rafael Espindola
a1ab92d8b7
correctly set LocalAreaOffset of TargetFrameInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29589 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 17:37:45 +00:00
Rafael Espindola
7a53bd0890
fix the spill code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29583 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 16:41:12 +00:00
Rafael Espindola
2c8cdc6c1a
fix the loading of the link register in emitepilogue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29580 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 13:15:47 +00:00
Rafael Espindola
46adf8119d
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
2006-08-08 20:35:03 +00:00
Rafael Espindola
1a00946817
initial support for variable number of arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29567 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 13:02:29 +00:00
Chris Lattner
bd564bfc63
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
2006-08-08 02:23:42 +00:00
Chris Lattner
f06f35e30b
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
2006-08-08 01:09:31 +00:00
Evan Cheng
f4b4c416d3
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
2006-08-08 00:31:00 +00:00
Reid Spencer
dc4f6bea6c
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
2006-08-07 23:20:15 +00:00
Reid Spencer
05445e30aa
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
2006-08-07 23:17:24 +00:00
Reid Spencer
42fe455d37
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
2006-08-07 23:12:15 +00:00
Chris Lattner
a5682853b9
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
2006-08-07 23:03:03 +00:00
Evan Cheng
2ef88a09b7
Match tablegen isel changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29549 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 22:28:20 +00:00
Evan Cheng
99157a00a6
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
2006-08-07 22:13:29 +00:00
Evan Cheng
3b97acdbdb
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
2006-08-07 22:12:12 +00:00
Evan Cheng
e46e1a5da7
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
2006-08-07 21:02:39 +00:00
Reid Spencer
25259a3149
Remove extraneous #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29541 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 05:36:24 +00:00
Reid Spencer
a8e80c5188
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
2006-08-07 05:34:08 +00:00
Reid Spencer
bffdc36c38
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
2006-08-07 05:20:05 +00:00
Reid Spencer
a773bd54f3
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
2006-08-04 18:18:08 +00:00
Chris Lattner
190a418bf6
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
2006-08-04 17:45:20 +00:00
Rafael Espindola
341b864c8d
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
2006-08-04 12:48:42 +00:00
Rafael Espindola
6312da0fc7
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
2006-08-03 22:50:11 +00:00
Chris Lattner
8cfe6335e4
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
2006-08-03 21:40:24 +00:00
Jim Laskey
f492391de0
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
2006-08-03 20:51:06 +00:00
Chris Lattner
fb1fcf08c9
remove some more dead sparcv9 support stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29506 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 18:55:44 +00:00
Chris Lattner
7a2144b060
remove a dead proto
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29505 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 18:51:04 +00:00
Jim Laskey
6b59a36564
Get darwin intel debugging up and running.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29504 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 17:27:09 +00:00
Rafael Espindola
f4fda80403
add and use ARMISD::RET_FLAG
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29499 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 17:02:20 +00:00
Chris Lattner
7e79b3898d
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
2006-08-03 06:34:50 +00:00
Chris Lattner
3700f90c19
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
2006-08-03 00:18:59 +00:00
Chris Lattner
8653b37ab9
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
2006-08-03 00:16:56 +00:00
Evan Cheng
4876dc5b13
Reflect change to AssignTopologicalOrder().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29480 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 22:01:32 +00:00
Evan Cheng
c384d6c398
- 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
2006-08-02 22:00:34 +00:00
Jim Laskey
abe0e3e641
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
2006-08-02 20:15:56 +00:00
Jim Laskey
eb577ba3b8
Final polish on machine pass registries.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29471 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 12:30:23 +00:00
Evan Cheng
686c4a18f1
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
2006-08-02 09:18:33 +00:00
Nate Begeman
83a6d49102
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
2006-08-02 05:31:20 +00:00
Nate Begeman
8f74680c78
Disable LSR at -fast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29467 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 05:29:40 +00:00
Chris Lattner
f9ba401bf5
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
2006-08-02 00:16:47 +00:00
Chris Lattner
880ddb018a
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
2006-08-02 00:14:16 +00:00
Chris Lattner
d41ae8bc0c
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
2006-08-02 00:06:09 +00:00
Chris Lattner
6aba48338f
Add dominates/properlyDominates queries to IDom.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29456 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 22:24:47 +00:00
Jim Laskey
9373beba60
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
2006-08-01 19:14:14 +00:00
Rafael Espindola
1ed3af11b5
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
2006-08-01 18:53:10 +00:00
Jim Laskey
9ff542f2cc
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
2006-08-01 18:29:48 +00:00
Chris Lattner
0d167276dd
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
2006-08-01 18:16:02 +00:00
Chris Lattner
8961501c9b
Use getFileStatus instead of Path::isDirectory().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29443 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 17:59:14 +00:00
Chris Lattner
c7c453a845
elimiante some syscalls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29442 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 17:51:09 +00:00
Jim Laskey
c6a0a117a6
Forgot the added files for plugable machine passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29436 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 16:31:08 +00:00
Jim Laskey
13ec702c43
Introducing plugable register allocators and instruction schedulers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29434 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 14:21:23 +00:00
Rafael Espindola
06c1e7eacb
implement LowerConstantPool and LowerGlobalAddress
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29433 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 12:58:43 +00:00
Evan Cheng
e6f35d8a5c
Added AssignTopologicalOrder() to assign each node an unique id based on their topological order.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29431 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 08:20:41 +00:00
Evan Cheng
db3cc3d7d6
Factor topological order code to SelectionDAG. Clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29430 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 08:17:22 +00:00
Anton Korobeynikov
1a7d326359
Minor fix due to recent API changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29428 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 08:07:22 +00:00
Evan Cheng
8825a485e2
PIC jump table entries are always 32-bit even in 64-bit mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29422 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 01:03:13 +00:00
Chris Lattner
f76d180c95
Fix PR850 and CodeGen/X86/2006-07-31-SingleRegClass.ll.
...
The CFE refers to all single-register constraints (like "A") by their 16-bit
name, even though the 8 or 32-bit version of the register may be needed.
The X86 backend should realize what is going on and redecode the name back
to its proper form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29420 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-31 23:26:50 +00:00
Rafael Espindola
6d581e8d15
handle GlobalValue::InternalLinkage in doFinalization
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29417 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-31 20:38:13 +00:00
Evan Cheng
ca3202893c
Remove a duplicate pattern.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29414 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-31 18:43:10 +00:00
Evan Cheng
043eb829cc
Remove a duplicate pattern/
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29413 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-31 18:42:49 +00:00
Chris Lattner
4a6bd33da0
Instead of blindly looking past constantexpr casts, actually constant
...
fold them. This correctly truncates constants that are too large for the
destination slot and makes the code easier to understand. This fixes PR853
and Regression/CodeGen/X86/2006-07-28-AsmPrint-Long-As-Pointer.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29408 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-29 01:57:19 +00:00
Chris Lattner
501d529ccc
Remove a redundant syscall.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29405 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:52:11 +00:00
Chris Lattner
1bebfb5ae4
Modify setStatusInfoOnDisk to not throw an exception.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29402 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:36:17 +00:00
Chris Lattner
7dea1019c1
Update win32 for Path::getStatusInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29401 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:32:09 +00:00
Chris Lattner
0c33231eff
Modify Path::eraseFromDisk to not throw an exception.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29400 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:29:50 +00:00
Chris Lattner
65a392ebea
Finegrainify namespacification, minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29399 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:21:01 +00:00
Chris Lattner
c847f7caec
formatting cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29396 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:07:54 +00:00
Chris Lattner
252ad03d7d
Change Path::getStatusInfo to return a boolean and error string on an error
...
instead of throwing an exception. This reduces the amount of code that is
exposed to exceptions (e.g. FileUtilities), though it is clearly only one step
along the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29395 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:03:44 +00:00
Chris Lattner
3236ced25f
libsupport still throws.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29394 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:01:01 +00:00
Chris Lattner
435540f434
Exceptions are thrown by and through this library.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29393 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 22:00:24 +00:00
Chris Lattner
513748dfc1
Fix handling of asm specifiers for external globals. This unbreaks many programs
...
on leopard in the jit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29391 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 21:11:31 +00:00
Chris Lattner
dacbe7b171
Make functions with an "asm" name propagate that asm name into the cbe.c file.
...
This fixes link errors on programs with these on targets with prefixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29390 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 20:58:47 +00:00
Chris Lattner
0d72a20630
Fix some ppc64 issues with vector code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29384 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 16:45:47 +00:00
Evan Cheng
37e1803a66
Can't spell.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29383 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 06:33:41 +00:00
Evan Cheng
ba27731f35
Some clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29382 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 06:05:06 +00:00
Evan Cheng
f2dfafcbc1
Rename IsFoldableBy to CanBeFoldedleBy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29376 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 01:03:48 +00:00
Evan Cheng
2584d93acf
Node selected into address mode cannot be folded.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 00:49:31 +00:00
Evan Cheng
2641cad180
Remove InFlightSet hack. No longer needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29373 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 00:47:19 +00:00
Chris Lattner
f26f5dde14
Print empty inline asms as a blank line instead of:
...
# InlineAsm Start
# InlineAsm End
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29372 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 00:17:20 +00:00
Evan Cheng
63ce5682e2
Another duh. Determine topological order before any target node is added.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29371 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 00:10:59 +00:00
Evan Cheng
0e2c36fcc2
Brain cramp..
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29370 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 23:35:40 +00:00
Evan Cheng
b3c334674d
Allocating too large an array for ReachibilityMatrix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29367 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 22:35:40 +00:00
Evan Cheng
5fa5de80e2
Calculate the portion of reachbility matrix on demand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29366 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 22:10:00 +00:00
Evan Cheng
8cbc93aadb
isNonImmUse is replaced by IsFoldableBy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29365 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 21:19:10 +00:00
Jim Laskey
33a0a6ddf5
Working toward registration of register allocators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29360 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 20:05:00 +00:00
Evan Cheng
f141cc46fa
Resolve BB references with relocation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29351 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 18:21:10 +00:00
Evan Cheng
7e6e441394
synchronizeICache removeed from TargetJITInfo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29348 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 17:33:48 +00:00
Nate Begeman
4d9bbdc440
Code cleanups, per review
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29347 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 16:46:58 +00:00
Evan Cheng
a8df1b4296
Use reachbility information to determine whether a node can be folded into another during isel.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29346 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 16:44:36 +00:00
Jim Laskey
2e9f3686f8
Fixed a typo in Evan's submisson.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29345 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 13:40:34 +00:00
Rafael Espindola
b01c4bbb45
emit global constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29344 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 11:38:51 +00:00
Evan Cheng
7c16d776cb
AssignNodeIds should return unsigned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29343 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 07:36:47 +00:00
Evan Cheng
33e9ad96c8
Remove NodeDepth
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29338 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 06:40:15 +00:00
Evan Cheng
091cba1b91
AssignNodeIds assign each node in the DAG an unique id.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29337 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 06:39:06 +00:00
Evan Cheng
55b5053b8e
Move synchronizeICache from TargetJITInfo into a static function in JITEmitter.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29334 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 06:33:55 +00:00
Jim Laskey
ea348585c8
Use the predicate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29322 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 02:05:13 +00:00
Nate Begeman
2f1ae88445
Support jump tables when in PIC relocation model
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29318 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 01:13:04 +00:00
Jim Laskey
30ffe1b776
Prevent creation of MachineDebugInfo for intel unless it is darwin. RC842.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29317 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 01:12:23 +00:00
Chris Lattner
35a14467ed
Fix warning on linux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29314 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 00:04:14 +00:00
Chris Lattner
c9cf4f1a75
Fix a case where LegalizeAllNodesNotLeadingTo could take exponential time.
...
This manifested itself as really long time to compile
Regression/CodeGen/Generic/2003-05-28-ManyArgs.ll on ppc.
This is PR847.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29313 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 23:55:56 +00:00
Evan Cheng
ae1d33f82d
New entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29310 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 21:49:52 +00:00
Chris Lattner
35d86fef1f
Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29307 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 21:12:04 +00:00
Chris Lattner
fab30f2aa0
Fix the build on win32
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29302 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 20:37:11 +00:00
Reid Spencer
23dd3327a0
For PR780:
...
Put the rest of lib/System into LinkAllVMCore.h. This makes all of
lib/System available to programs that #include LinkALlVMCore.h so that
loadable modules linked into those programs can depend on all of lib/System
being available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29288 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 16:55:39 +00:00
Reid Spencer
7107c3badf
For PR780:
...
1. Move IncludeFile.h to System library
2. Move IncludeFile.cpp to System library
3. #1 and #2 required to prevent cyclic library dependencies for libSystem
4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h
5. Add IncludeFile support to various lib/System classes.
6. Add new lib/System classes to LinkAllVMCore.h
All this in an attempt to pull in lib/System to what's required for VMCore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29287 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 16:18:00 +00:00
Jim Laskey
8884060a25
No Need to live in the past.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29282 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 09:59:01 +00:00
Jim Laskey
a25dfd2963
Moving this function to a permanent home to prevent a dependency cycle created
...
by the inline heuristic. Was preventing llvm-gcc4 from building.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29278 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 23:22:00 +00:00
Reid Spencer
9160a6a18f
Initialize some variables the compiler warns about.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29277 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 20:44:41 +00:00
Evan Cheng
55fc28076f
- Refactor the code that resolve basic block references to a TargetJITInfo
...
method.
- Added synchronizeICache() to TargetJITInfo. It is called after each block
of code is emitted to flush the icache. This ensures correct execution
on targets that have separate dcache and icache.
- Added PPC / Mac OS X specific code to do icache flushing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29276 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 20:40:54 +00:00
Evan Cheng
55371739de
Can't commute shufps. The high / low parts elements come from different vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29275 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 20:25:40 +00:00
Rafael Espindola
fac00a93a9
implement function calling of functions with up to 4 arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29274 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 20:17:20 +00:00
Nate Begeman
b76ea74845
Fix the build on my old and busted version of OS X
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29266 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-22 16:59:38 +00:00
Evan Cheng
b82ab94e20
Forgot to #ifdef __APPLE__
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29264 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-22 00:42:03 +00:00
Evan Cheng
46cd65dfa6
Done.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29262 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 23:07:23 +00:00
Evan Cheng
5f42c55030
Resolve __dso_handle.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29259 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 23:06:20 +00:00
Jim Laskey
cd4317efcf
Eliminate data relocations by using NULL instead of global empty list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29250 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 21:15:20 +00:00
Jim Laskey
60f09928a0
Use an enumeration to eliminate data relocations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29249 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 20:57:35 +00:00
Rafael Espindola
44819cb20a
implemented sub
...
correctly update the stack pointer in the prologue and epilogue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29244 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 12:26:16 +00:00
Evan Cheng
625518002d
This opt is now handled in DAG combine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29243 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 08:26:46 +00:00
Evan Cheng
917ec983df
If a shuffle is a splat, check if the argument is a build_vector with all elements being the same. If so, return the argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29242 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 08:25:53 +00:00
Chris Lattner
02b04b4d34
Build more debugger/selectiondag libraries as archives instead of .o files.
...
This works around bugs in some versions of the cygwin linker.
Patch contributed by Anton Korobeynikov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29239 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 00:10:47 +00:00
Evan Cheng
1e1a88e8cc
A splat of a vector constant of all zero or all one is the vector constant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29234 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 23:09:47 +00:00
Evan Cheng
3c62934268
Missing a space.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29233 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 22:52:28 +00:00
Evan Cheng
e7bec0dbb5
If a shuffle is unary, i.e. one of the vector argument is not needed, turn the
...
operand into a undef and adjust mask accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29232 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 22:44:41 +00:00
Evan Cheng
cbac2fa23a
Clean up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29228 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 21:37:39 +00:00
Chris Lattner
4446fcdf9e
Fix a race condition in the makefile andrew reported
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29227 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 19:08:27 +00:00
Chris Lattner
ec3c411de8
Minor comment tweaks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29226 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 19:06:16 +00:00
Chris Lattner
a15cf7045e
Mems can be in the output list also. This is the second half of a fix for
...
PR833
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29224 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 19:02:21 +00:00
Devang Patel
d828a4b285
Make it fit into 80 cols.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29223 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 18:03:39 +00:00
Devang Patel
753d94a1c8
Add new constructor to accept vector of exported names while creating
...
InternalizePass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29222 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:48:05 +00:00
Andrew Lenharth
ae6153f943
80 cols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29221 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:43:27 +00:00
Andrew Lenharth
ed41f1bb19
Reduce number of exported symbols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29220 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:28:38 +00:00
Andrew Lenharth
74bda2e320
Fix linking on Alpha
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29219 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:27:58 +00:00
Chris Lattner
eefaeeccfb
Fix PR835 so that touching tblgen in a way that doesn't affect intrinsic
...
generation does not rebuild files that just use intrinsic info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29217 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 16:44:21 +00:00
Evan Cheng
abb4d7829f
New entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29215 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 21:29:30 +00:00
Jim Laskey
c06fe8a5ac
Do once flag never set to true.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29214 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 19:33:08 +00:00
Jim Laskey
613f1f83fd
Tidy up a few things.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29213 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 19:32:06 +00:00
Jim Laskey
f19807cecb
Reduce size of routine. Shrinks .o by 37%.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29210 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 17:53:32 +00:00
Chris Lattner
2a785500e0
bswapped load/store instructions are only availble in indexed addressing form.
...
As such, use xoaddr (indexed only), not xaddr for address selection.
This fixes CodeGen/PowerPC/2006-07-19-stwbrx-crash.ll, a crash compiling lencod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29208 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 17:15:36 +00:00
Jim Laskey
e29c2f5ca0
Bug#834 ICE (crash in code generator?) when building PCH .
...
Missing Darwin check in Intel ATT ASM printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29204 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 11:54:50 +00:00
Evan Cheng
1c96953d2d
Misc. new entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29202 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 06:06:24 +00:00
Owen Anderson
10d9d9f27c
Add an assertion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29199 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 05:48:45 +00:00
Owen Anderson
2698a08c23
Make LoopUnroll not die on LCSSA Phis. This makes lencod work again.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29198 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 05:45:14 +00:00
Owen Anderson
db5b9cfd86
Fix a error that hadn't yet cause any problems, but I'm sure it would have
...
somewhere down the road.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29197 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 03:51:48 +00:00
Chris Lattner
08e682ecf4
Move MVT::getVectorType out of line, it is large and shouldn't be inlined.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29195 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 00:40:45 +00:00
Evan Cheng
1693e489e6
INC / DEC instructions have shorter code size than ADD32ri8, etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29194 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 00:27:29 +00:00
Evan Cheng
e6f32034db
Add code size to target instruction use it as the 3rd isel sorting tie-breaker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29193 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 00:24:41 +00:00
Chris Lattner
917d2c9dc2
Add an out-of-line virtual method for the sdnode class to give it a home.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29192 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 00:00:37 +00:00
Chris Lattner
433fd76e51
Add an out-of-line virtual method to provide a home for the cl::option class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29191 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 23:59:33 +00:00
Chris Lattner
21ba23d0d8
silence warnings in a release build
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29189 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 21:48:57 +00:00
Evan Cheng
31e773147b
Only reuse a previous IV if it would not require a type conversion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29186 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 19:07:58 +00:00
Rafael Espindola
355746359e
initial prologue and epilogue implementation. Need to define add and sub before finishing it :-)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29175 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 17:00:30 +00:00
Chris Lattner
303c695529
Make the implicit def instructions look like other instrs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29174 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 16:33:26 +00:00
Chris Lattner
ff3d80ff7e
simple optimization: don't bother calling "exists" (which calls the syscall
...
"access"). Instead, just let the open call fail if the file doesn't exist.
This reduces the # syscalls executed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29173 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 07:07:51 +00:00
Chris Lattner
84bad2f96c
Remove a dead conditional: info_ can only be allocated if FD is good. Improve
...
spacing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29172 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 07:03:14 +00:00
Chris Lattner
0af7093532
The only entry in the stat buf this code cares about is the size. Keep just
...
the size, not the whole stat buffer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29171 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 07:01:08 +00:00
Chris Lattner
cca68faac2
Reduce code in the error path by only allocating info_ if everything looks
...
good.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29170 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 06:57:51 +00:00
Chris Lattner
c22c7d3cdf
Unindent some code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29169 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 06:52:52 +00:00
Jim Laskey
ede5aa4c96
Reduce the size of Constants.o by 25% by generalizing specific instantiations of
...
std::map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29163 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-17 17:38:29 +00:00
Rafael Espindola
84b19be6ab
skeleton of a lowerCall implementation for ARM
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29159 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-16 01:02:57 +00:00
Chris Lattner
0c4e6789da
On 64-bit targets like ppc64, we should use .quad to output pointer directives,
...
not .long.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29157 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-15 01:34:12 +00:00
Chris Lattner
ba4733d901
Remove what little AIX support we have. It has never been tested and isn't
...
complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29156 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-15 01:24:23 +00:00
Chris Lattner
efb9b813fa
Add an out-of-line virtual function to home class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29154 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 23:08:47 +00:00
Chris Lattner
a3b5939caa
Add an out-of-line virtual method for X86DwarfWriter to give it a home.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29153 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 23:05:05 +00:00
Chris Lattner
53eca9466f
Add two helpers for escaping and unescaping strings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29151 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 22:54:39 +00:00
Chris Lattner
27d672136a
eliminate some ugly code, using ConstantExpr::getWithOperands instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29149 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 22:21:31 +00:00
Chris Lattner
b88a7fbdf6
Add a new helper, simplify ConstantExpr::getWithOperandReplaced at Gabor's
...
request :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29148 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 22:20:01 +00:00
Chris Lattner
1fe8f6bcef
Add a new method for bugpoint to use
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29143 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 19:37:40 +00:00
Owen Anderson
c1be492f94
Hopefully the final attempt at making IndVars preserve LCSSA.
...
This should fix PR 831.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29141 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 18:49:15 +00:00
Chris Lattner
518f9c7ad0
Add missing PPC64 extload/truncstores
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29140 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 04:42:02 +00:00
Chris Lattner
1eeedaea59
Add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29139 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 04:07:29 +00:00
Chris Lattner
a606b70cf5
Another fix in the rotate encodings, needed when the first two operands are not
...
the same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29136 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-13 21:52:41 +00:00
Chris Lattner
262041892d
Revert this patch temporarily until PR831 is fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29134 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-13 19:05:20 +00:00
Jim Laskey
d04c159ac1
Fixed a bug handling void function types.
...
Requires rebuild of llvm-gcc4 (touch llvm-debug.cpp.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29131 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-13 15:27:42 +00:00
Chris Lattner
45c04fc676
Print negative immediates as negative values instead of large constants
...
when using the immshifted addressing mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29130 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 23:24:02 +00:00
Chris Lattner
0228c0fc8d
Turn an if into an else if.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29129 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 22:37:18 +00:00
Chris Lattner
b2c0650ad3
Fix encoding of rotates, such as rldicl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29128 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 22:08:13 +00:00
Chris Lattner
981418bf15
Handle instructions in the map, but that map to a null pointer.
...
This unbreaks smg2000.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29127 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 21:37:11 +00:00
Owen Anderson
bcfb913df0
IndVars now (correctly) preserves LCSSA form.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29126 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 21:29:14 +00:00
Chris Lattner
3bc8a765a9
Implement PPC64 relocations types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29125 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 21:23:20 +00:00
Chris Lattner
3d6721a4a1
An overaggressive #ifdef allows a function to fall off the bottom of the
...
function instead of returning a value. This sometimes allowed the ppc32 jit
to be used in 64-bit mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29123 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 20:42:10 +00:00
Chris Lattner
1bb3a40257
In addition to deleting calls, the inliner can constant fold them as well.
...
Handle this case, which doesn't require a new callgraph edge. This fixes
a crash compiling MallocBench/gs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29121 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 18:37:18 +00:00
Chris Lattner
d85340f4ec
Change the callgraph representation to store the callsite along with the
...
target CG node. This allows the inliner to properly update the callgraph
when using the pruning inliner. The pruning inliner may not copy over all
call sites from a callee to a caller, so the edges corresponding to those
call sites should not be copied over either.
This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29120 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 18:29:36 +00:00
Chris Lattner
6d3465793f
Add information preventing several register class constraints from working.
...
This implements PR828 and CodeGen/X86/2006-07-12-InlineAsmQConstraint.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29118 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 16:59:49 +00:00
Chris Lattner
21c39a6520
Remove non-portable optimization that isn't worth it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 00:31:47 +00:00
Chris Lattner
be6a039ad4
The PPC64 JIT needs register numbers to encode instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29114 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 20:53:55 +00:00
Chris Lattner
f4ea921cc7
Fix PR826, testcase here: Regression/Verifier/2006-07-11-StoreStruct.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29112 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 20:29:49 +00:00
Evan Cheng
f7eb5d0b02
Emit inc / dec of registers as one byte instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29110 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 19:49:49 +00:00
Chris Lattner
ed36b2f1c2
Silence a warning produced in assertions-disabled mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29108 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:31:26 +00:00
Jim Laskey
16d42c6ac6
It was pointed out that DEBUG() is only available with -debug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29106 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:25:13 +00:00
Jim Laskey
e37fe9b3a1
Ensure that dump calls that are associated with asserts are removed from
...
non-debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29105 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 17:58:07 +00:00
Jim Laskey
e2a78f2e3d
1. Support for c++ mangled names.
...
2. Support for private/protected class members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29104 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 15:58:09 +00:00
Rafael Espindola
a4e64359aa
add the memri memory operand
...
this makes it possible for ldr instructions with non-zero immediate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29103 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 11:36:48 +00:00
Owen Anderson
4a8aadd1f5
Revert my indvars changes because they were breaking things. Unfortunately this
...
didn't start showing up until after the recent instcombine fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29102 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 07:25:33 +00:00
Chris Lattner
f4dff84c86
Implement the inline asm 'A' constraint. This implements PR825 and
...
CodeGen/X86/2006-07-10-InlineAsmAConstraint.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29101 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 02:54:03 +00:00
Chris Lattner
25a022c780
Fix CodeGen/Alpha/2006-07-03-ASMFormalLowering.ll and PR818.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29099 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 01:40:09 +00:00
Chris Lattner
804e067042
In 64-bit mode, 64-bit GPRs are callee saved, not 32-bit ones.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29096 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 00:48:23 +00:00
Owen Anderson
b64ab8769e
Add a comment, and fix a typo that broke the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29094 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 22:15:25 +00:00
Owen Anderson
7e05714a10
Don't indent the entire function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29093 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 22:03:18 +00:00
Evan Cheng
20adf47dbc
New entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29091 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 21:42:16 +00:00
Evan Cheng
1e60c098cc
Fixed stack objects do not specify alignments, but their offsets are known.
...
Use that information when doing the transformation to merge multiple loads
into a 128-bit load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29090 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 21:37:44 +00:00
Chris Lattner
d998938459
Implement Regression/CodeGen/PowerPC/bswap-load-store.ll by folding bswaps
...
into i16/i32 load/stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29089 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 20:56:58 +00:00
Chris Lattner
6423d4c64a
Recognize 16-bit bswaps by relaxing overconstrained pattern.
...
This implements Transforms/InstCombine/bswap.ll:test[34].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29087 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 20:25:24 +00:00
Chris Lattner
5c5f4ca6f1
Mark internal function static
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29085 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 19:53:12 +00:00
Owen Anderson
d1b78a12ef
Make instcombine not remove Phi nodes when LCSSA is live.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29083 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 19:03:49 +00:00
Rafael Espindola
aefe14299a
create the raddr addressing mode that matches any register and the frame index
...
use raddr for the ldr instruction. This removes a dummy mov from the assembly output
remove SelectFrameIndex
remove isLoadFromStackSlot
remove isStoreToStackSlot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29079 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 01:41:35 +00:00
Owen Anderson
f8dad7a926
Fix typo in the comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29078 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-09 21:35:40 +00:00
Owen Anderson
e4e1ecd37c
Add a fix for an issue where LCSSA would fail to insert undef's in some corner
...
cases. Ideally, this issue will go away in the future as LCSSA gets smarter
about which Phi nodes it inserts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29076 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-09 08:14:06 +00:00
Evan Cheng
42f75a926a
Fix a typo that causes 2006-07-07-ComputeMaskedBits.ll to fail.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29072 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 21:37:21 +00:00
Chris Lattner
7cd580f0b7
Fix PR820 and Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29071 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 21:37:01 +00:00
Chris Lattner
b14c342bd5
no need to do a stat then an lstat. lstat will tell us if normal files don't exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29068 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 21:21:06 +00:00
Reid Spencer
8d8a7ffe58
Finish removal of EH usage from the Archive library. The REQUIRES_EH flag
...
in lib/Bytecode/Archive/Makefile is now removed. One small step closer to
a smaller LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29067 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 20:56:50 +00:00
Reid Spencer
3039b99697
Remove EH use from the Archive library and adjust its users accordingly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29066 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 19:09:14 +00:00
Chris Lattner
c67dc457ce
Move << method out of line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29062 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 18:11:32 +00:00
Chris Lattner
bed22d8902
Change AllocateRWX/DeallocateRWX to not throw an exception.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29058 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:32:37 +00:00
Chris Lattner
c1780d2a0a
Change AllocateRWX/DeallocateRWX do not throw an exception.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29057 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:31:41 +00:00
Chris Lattner
61ae8201a7
Fix this impl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29055 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:26:47 +00:00
Chris Lattner
5c72a3ae10
Adapt to new interface function materialization interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29051 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:18:09 +00:00
Chris Lattner
17aa9d3f53
LoadLibraryPermanently no longer throws an exception, so this code doesn't have
...
to catch it. Other minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29050 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 17:14:04 +00:00