Chris Lattner
d6007d6076
add a bunch more operations, including swap, insert, erase, front(), and
...
bugfixes for operator=.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29811 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 06:27:16 +00:00
Chris Lattner
0c2f83e756
move LiveInterval state all together
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29806 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 23:15:12 +00:00
Jim Laskey
6f397bf4c8
Adding new Dwarf constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29798 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 21:18:10 +00:00
Reid Spencer
d2a8e656c5
For PR797:
...
Change interface for error recovery without exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29789 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 06:00:58 +00:00
Reid Spencer
037ce981d8
Fix the documentation for this file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29788 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 05:37:03 +00:00
Reid Spencer
62c5105adc
For PR885:
...
Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29787 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 05:34:03 +00:00
Reid Spencer
023fcf9776
For PR797:
...
Make sys::Program::ExecuteAndWait not throw exceptions and update any
affected code. It now return -9999 to signal that the program couldn't be
executed. Only one case (in bugpoint) actually examines the result code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29785 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 02:04:43 +00:00
Chris Lattner
b31950ddfa
vpkuwus didn't work, due to this typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29776 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-18 19:25:35 +00:00
Reid Spencer
61c83e023f
For PR797:
...
Rid the Assembly Parser of exceptions. This is a really gross hack but it
will do until the Assembly Parser is re-written as a recursive descent.
The basic premise is that wherever the old "ThrowException" function was
called (new name: GenerateError) we set a flag (TriggerError). Every
production checks that flag and calls YYERROR if it is set. Additionally,
each call to ThrowException in the grammar is replaced with GEN_ERROR
which calls GenerateError and then YYERROR immediately. This prevents
the remaining production from continuing after an error condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29763 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-18 08:43:06 +00:00
Chris Lattner
5ea64fd9eb
Constify some methods. Patch provided by Anton Vayvod, thanks!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29756 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-17 22:00:08 +00:00
Chris Lattner
228a18e0f2
switch the SUnit pred/succ sets from being std::sets to being smallvectors.
...
This reduces selectiondag time on kc++ from 5.43s to 4.98s (9%). More
significantly, this speeds up the default ppc scheduler from ~1571ms to 1063ms,
a 33% speedup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29743 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-17 00:09:56 +00:00
Chris Lattner
67bb42aa59
add an accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29739 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 22:57:08 +00:00
Chris Lattner
9522ee3d93
Convert vector to smallvector: 4% speedup.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29735 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 22:12:48 +00:00
Chris Lattner
67b7ff9ede
silence a warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29734 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 22:09:24 +00:00
Chris Lattner
5892d47a62
Change the use_list to be a smallvector instead of a vector. This reduces
...
isel time from 6.79s to 5.53s (22%) on kc++ with a release build on ppc.
Go smallvector! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29731 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 21:01:10 +00:00
Chris Lattner
2e40ae4de6
add a way to have multiple modules in a JIT :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29723 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 02:53:27 +00:00
Chris Lattner
fe85403467
initial changes to support JIT'ing from multiple module providers, implicitly
...
linking the program on the fly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29721 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 01:24:12 +00:00
Chris Lattner
2e6baf626d
Bugfixes for smallvector when the element size is small and N is small.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29720 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16 01:23:31 +00:00
Chris Lattner
0b3e525a3a
Start using SDVTList more consistently
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29711 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 19:11:05 +00:00
Chris Lattner
70046e920f
add a new SDVTList type and new SelectionDAG::getVTList methods to streamline
...
the creation of canonical VTLists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29709 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-15 17:46:01 +00:00
Chris Lattner
3ca002bc17
Make getNodeValueTypes methods public.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29688 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:54:24 +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
Devang Patel
64d128de9c
Avoid extra string copy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29684 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 23:27:36 +00:00
Devang Patel
30235dad4b
Use mangler, instead of addUnderscore(), to get mangled name.
...
Now, LLVMSymbol keeps symbol original name and mangled name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29679 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 22:36:16 +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
b5677f933f
avoid a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29674 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 21:47:50 +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
8731c0d234
Track # nodes in a CSEMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29643 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 01:07:51 +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
1653366010
move code out of line so that GCC doesn't inline it at -O3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:40:23 +00:00
Chris Lattner
80b6582314
Split SmallVector into SmallVector and SmallVectorImpl, which allows us to
...
eliminate code duplication due to the 'N' parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29634 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 23:19:51 +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
0c2ecdd9af
remove old piece of the V9 backend.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29628 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:11:35 +00:00
Chris Lattner
cbea3045ce
Start moving leaf nodes over to the CSEMap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29625 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 21:00:46 +00:00
Chris Lattner
e2e34093c7
new method for adding ints
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29622 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 18:53:44 +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
8a842cf828
Change one ReplaceAllUsesWith method to take an array of operands to replaceinstead of a vector of operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29617 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:46:44 +00:00
Chris Lattner
246db8de3d
Remove now-dead method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29615 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:40:26 +00:00
Chris Lattner
3cf55848d9
remove a (now) unused getNode method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29613 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-11 17:25:05 +00:00
Chris Lattner
6c8d90d65f
Doxygenify some methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29592 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-10 06:00:40 +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
8e10f5b811
capacity is a pointer, not a value
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29564 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 01:54:17 +00:00
Chris Lattner
1c567b5d92
add a new assign method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29562 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 01:44:16 +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
Chris Lattner
8de353df9d
Add ctor that initializes from a range.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29560 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 00:37:50 +00:00
Chris Lattner
d0337c1678
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
2006-08-07 23:41:59 +00:00
Chris Lattner
51a4911121
New CSEMap datastructure impl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29555 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-07 23:31:24 +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