Chris Lattner
7cad3cf448
Make the ModuleLevel datastructure more sane. When a function-local value
...
is inserted into the table, it remembers that the value needs to be popped
off. This makes purgeFunction much faster, speeding up bcwriting of 447.dealII
from 6.8->4.6s (47%).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34133 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 06:09:41 +00:00
Chris Lattner
06f94d5902
Only compute the module levels info once per module, instead of once
...
per function. This speeds up bcwriting on 447.dealII from 10.16s to 6.81s
(49%).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34132 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 05:54:33 +00:00
Chris Lattner
77aae264a0
Clone and specialize CreateSlotIfNeeded into CreateFunctionValueSlot to handle
...
function-local values. This speeds up bcwriting a small 2.2% (10.384->10.156s
on 447.dealII), but paves the way for more important changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34131 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 05:45:09 +00:00
Chris Lattner
2b8269f92b
make getSlot/getTypeSlot inline
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34130 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 05:18:35 +00:00
Chris Lattner
972b4dccaf
getTypeSlot can never fail
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34129 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 05:17:48 +00:00
Chris Lattner
a2bdad49c9
getSlot can never fail. Make it assert internally, eliminate checks in
...
clients. Same for getTypeSlot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34128 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 05:13:03 +00:00
Chris Lattner
8183cf62f6
simplify getOrCreateTypeSlot, eliminat doInsertType. Eliminate post-order iteration stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34127 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 05:02:50 +00:00
Chris Lattner
25c0293f20
simplify and speed up recursive type processing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34126 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:57:36 +00:00
Chris Lattner
94bec4fbf8
rename getOrCreateSlot -> CreateSlotIfNeeded. Noone cares about the retval
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34125 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:54:01 +00:00
Chris Lattner
17d60ce795
refactor callers of insertType. inline insertType into its one remaining caller.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34124 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:51:21 +00:00
Chris Lattner
25c3fa3152
simplify code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34123 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:47:51 +00:00
Chris Lattner
36e1173baa
simplify some logic, reduce nesting
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34122 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:42:30 +00:00
Chris Lattner
4ef92d8d64
Remove dead ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34121 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:38:34 +00:00
Chris Lattner
7f481e5224
ModuleContainsAllFunctionConstants is always true
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34120 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:36:10 +00:00
Chris Lattner
1ef9ca4442
only one client of getOrCreateSlot can pass a void typed value. Check type
...
there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34119 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:31:52 +00:00
Chris Lattner
44bd331c22
inline hasNullValue, rename some variables, simplify some code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34118 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:29:03 +00:00
Chris Lattner
87dddc5262
merge insertValue into its single caller, eliminate some redundant checks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34117 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:25:02 +00:00
Chris Lattner
75e2cf555c
merge doInsertValue into insertValue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34116 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:22:30 +00:00
Chris Lattner
618181ea0e
insertvalue's second operand is always false
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34115 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:19:31 +00:00
Chris Lattner
330fce71b2
remove dead 'dontIgnore' flag for insertType
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34114 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:17:41 +00:00
Chris Lattner
cb43fdc40c
rename getSlot -> getSlotType and getOrCreateSlot ->getOrCreateTypeSlot
...
for types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34113 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 04:15:40 +00:00
Evan Cheng
ad2070c667
Add function live-ins to entry block live-in set.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34112 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 02:43:39 +00:00
Evan Cheng
13d8285678
Add live-ins to MachineBasicBlock.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34111 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 02:38:19 +00:00
Evan Cheng
15699fc5ed
Rename some variables to avoid confusion with SelectionDAGISel::BB.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34110 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10 01:08:18 +00:00
Evan Cheng
e03cff6812
These vectors are frequently large. Use std::vector instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34109 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 23:59:14 +00:00
Chris Lattner
d1f711fa6d
Fix clients like this:
...
delete ParseBytecodeFile(InputFilename, 0, &ErrorMessage);
llvm_shutdown();
delete ParseBytecodeFile(InputFilename, 0, &ErrorMessage);
The primitive type objects failed to ressurect themselves after shutdown, leading
to crashes in clients that used them after llvm_shutdown().
This solution isn't wonderful, because we clearly have static ctors. However,
the code it replaces was just as bad, so it's not a regression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 22:24:04 +00:00
Evan Cheng
c99ef085b9
Add reference counting to constantpool entries. Delete the unused ones.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34105 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 20:54:44 +00:00
Reid Spencer
7d0034194c
Use int32_t and uint32_t to hopefully help weak compilers (cygwin) not
...
generate errors about being unable to resolve overloaded type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34103 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 18:03:35 +00:00
Reid Spencer
b913a5137e
int -> i32, etc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34102 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 17:56:02 +00:00
Chris Lattner
8abcfe11b5
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34101 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 17:38:01 +00:00
Reid Spencer
fd57a00972
Get the use of \ right.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34100 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 17:18:42 +00:00
Reid Spencer
18464127a4
Fix some bugs in module building that broke llvm-stacker project.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34099 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 17:09:14 +00:00
Reid Spencer
36a987eed0
Now that gccas and gccld are just schell scripts, adjust the build ordering
...
for parallel builds so that we space out the large links.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34098 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 17:02:07 +00:00
Reid Spencer
caaef9c603
Remove gccas.pod and references to gccas and gccld.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34097 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 16:56:25 +00:00
Reid Spencer
6b6c73e7bc
Change a reference to gccas to a reference to opt.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34095 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 16:00:28 +00:00
Reid Spencer
434262ad51
Remove references to gccld and gccas, adjusting the documentation to
...
mention llvm-ld and opt instead (if appropriate).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34094 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:59:08 +00:00
Reid Spencer
43eb96c3ef
Don't use gccld or gccas
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34093 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:52:07 +00:00
Reid Spencer
282a7dad64
gccld is gone.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34092 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:33:12 +00:00
Reid Spencer
394355e4cc
Make SlotCalculator::getPlane an inline function. It is used inside loops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34091 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:25:50 +00:00
Reid Spencer
d748ea32db
End of life for gccld. Remove its source code and enable the generation
...
of a shell script to stand in its place. The shell script just pawns the
execution off to llvm-ld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34090 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:21:02 +00:00
Reid Spencer
8912cdd962
Write the deprecation message to stderr instead of stdout so that it
...
doesn't get mingled with the output bytecode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34089 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:16:59 +00:00
Reid Spencer
1bb52e00ac
Eliminate the use of gccas in the test suite.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34088 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:15:21 +00:00
Reid Spencer
8d0dbdbe12
Write the deprecation message to stderr instead of stdout so that it
...
doesn't get mingled with the output bytecode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34087 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 15:10:26 +00:00
Chris Lattner
191d73187a
remove unneeded #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34086 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 07:54:13 +00:00
Chris Lattner
8dcd81cc0e
remove dead code, the outputConstants function is now only called at module scope.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34085 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 07:53:20 +00:00
Chris Lattner
ba6de4b1cf
1. constants can never occur in the symbol table.
...
2. All function-level constants are now incorporated into the module-level
constant pool, since the compaction table was removed. Eliminate extra
work to check for them.
This speeds up the bcwriter from 24.4s to 13.1s on 447.dealII and .73 -> .56s
on kc++ in a release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34084 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 07:51:47 +00:00
Zhou Sheng
ff4304f824
Eliminates friend function declaration inside APInt, instead, adds public
...
methods as those global function's internal implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34083 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 07:48:24 +00:00
Chris Lattner
511e1d1456
Add ppc-specific test for better i64 compare codegen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34082 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 04:49:46 +00:00
Nate Begeman
8c541bcc56
Remove fixed item
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34081 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 04:19:54 +00:00
Reid Spencer
4d9e7fe1f0
Fix some formatting mistakes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34080 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-09 04:15:08 +00:00