Chris Lattner
d043d112d0
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%).
llvm-svn: 34132
2007-02-10 05:54:33 +00:00
Chris Lattner
b005a435cd
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.
llvm-svn: 34131
2007-02-10 05:45:09 +00:00
Chris Lattner
31d8a25842
make getSlot/getTypeSlot inline
...
llvm-svn: 34130
2007-02-10 05:18:35 +00:00
Chris Lattner
cbbfa88ced
getTypeSlot can never fail
...
llvm-svn: 34129
2007-02-10 05:17:48 +00:00
Chris Lattner
78926ecd8e
getSlot can never fail. Make it assert internally, eliminate checks in
...
clients. Same for getTypeSlot.
llvm-svn: 34128
2007-02-10 05:13:03 +00:00
Chris Lattner
83352c4de3
simplify getOrCreateTypeSlot, eliminat doInsertType. Eliminate post-order iteration stuff.
...
llvm-svn: 34127
2007-02-10 05:02:50 +00:00
Chris Lattner
e6d3af76f8
simplify and speed up recursive type processing.
...
llvm-svn: 34126
2007-02-10 04:57:36 +00:00
Chris Lattner
b4d5d53916
rename getOrCreateSlot -> CreateSlotIfNeeded. Noone cares about the retval
...
llvm-svn: 34125
2007-02-10 04:54:01 +00:00
Chris Lattner
2965283d9f
refactor callers of insertType. inline insertType into its one remaining caller.
...
llvm-svn: 34124
2007-02-10 04:51:21 +00:00
Chris Lattner
fea071b3c8
simplify code.
...
llvm-svn: 34123
2007-02-10 04:47:51 +00:00
Chris Lattner
8e07ddf937
simplify some logic, reduce nesting
...
llvm-svn: 34122
2007-02-10 04:42:30 +00:00
Chris Lattner
7301538f7e
Remove dead ctor
...
llvm-svn: 34121
2007-02-10 04:38:34 +00:00
Chris Lattner
01a1b6aff1
ModuleContainsAllFunctionConstants is always true
...
llvm-svn: 34120
2007-02-10 04:36:10 +00:00
Chris Lattner
beafca02d1
only one client of getOrCreateSlot can pass a void typed value. Check type
...
there.
llvm-svn: 34119
2007-02-10 04:31:52 +00:00
Chris Lattner
2e462f53e4
inline hasNullValue, rename some variables, simplify some code.
...
llvm-svn: 34118
2007-02-10 04:29:03 +00:00
Chris Lattner
49365fa142
merge insertValue into its single caller, eliminate some redundant checks.
...
llvm-svn: 34117
2007-02-10 04:25:02 +00:00
Chris Lattner
fc3dd4e7a6
merge doInsertValue into insertValue
...
llvm-svn: 34116
2007-02-10 04:22:30 +00:00
Chris Lattner
ce0ce46355
insertvalue's second operand is always false
...
llvm-svn: 34115
2007-02-10 04:19:31 +00:00
Chris Lattner
639d8b9636
remove dead 'dontIgnore' flag for insertType
...
llvm-svn: 34114
2007-02-10 04:17:41 +00:00
Chris Lattner
7141ac8812
rename getSlot -> getSlotType and getOrCreateSlot ->getOrCreateTypeSlot
...
for types.
llvm-svn: 34113
2007-02-10 04:15:40 +00:00
Evan Cheng
a86214b294
Add function live-ins to entry block live-in set.
...
llvm-svn: 34112
2007-02-10 02:43:39 +00:00
Evan Cheng
6dc088ffd4
Add live-ins to MachineBasicBlock.
...
llvm-svn: 34111
2007-02-10 02:38:19 +00:00
Evan Cheng
14f837357e
Rename some variables to avoid confusion with SelectionDAGISel::BB.
...
llvm-svn: 34110
2007-02-10 01:08:18 +00:00
Evan Cheng
af3b119b29
These vectors are frequently large. Use std::vector instead.
...
llvm-svn: 34109
2007-02-09 23:59:14 +00:00
Chris Lattner
27cff151e2
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.
llvm-svn: 34106
2007-02-09 22:24:04 +00:00
Evan Cheng
5e8eb0c198
Add reference counting to constantpool entries. Delete the unused ones.
...
llvm-svn: 34105
2007-02-09 20:54:44 +00:00
Reid Spencer
b1e839a4d3
Use int32_t and uint32_t to hopefully help weak compilers (cygwin) not
...
generate errors about being unable to resolve overloaded type.
llvm-svn: 34103
2007-02-09 18:03:35 +00:00
Reid Spencer
678fd83797
int -> i32, etc.
...
llvm-svn: 34102
2007-02-09 17:56:02 +00:00
Chris Lattner
31e202922a
add a note
...
llvm-svn: 34101
2007-02-09 17:38:01 +00:00
Reid Spencer
b6fe932923
Get the use of \ right.
...
llvm-svn: 34100
2007-02-09 17:18:42 +00:00
Reid Spencer
d390bd5266
Fix some bugs in module building that broke llvm-stacker project.
...
llvm-svn: 34099
2007-02-09 17:09:14 +00:00
Reid Spencer
bb64621bb1
Now that gccas and gccld are just schell scripts, adjust the build ordering
...
for parallel builds so that we space out the large links.
llvm-svn: 34098
2007-02-09 17:02:07 +00:00
Reid Spencer
f6635a4b26
Remove gccas.pod and references to gccas and gccld.
...
llvm-svn: 34097
2007-02-09 16:56:25 +00:00
Reid Spencer
c4b989a655
Change a reference to gccas to a reference to opt.
...
llvm-svn: 34095
2007-02-09 16:00:28 +00:00
Reid Spencer
841d796b0f
Remove references to gccld and gccas, adjusting the documentation to
...
mention llvm-ld and opt instead (if appropriate).
llvm-svn: 34094
2007-02-09 15:59:08 +00:00
Reid Spencer
910544cc60
Don't use gccld or gccas
...
llvm-svn: 34093
2007-02-09 15:52:07 +00:00
Reid Spencer
bfa8128b0c
gccld is gone.
...
llvm-svn: 34092
2007-02-09 15:33:12 +00:00
Reid Spencer
6d293c2160
Make SlotCalculator::getPlane an inline function. It is used inside loops.
...
llvm-svn: 34091
2007-02-09 15:25:50 +00:00
Reid Spencer
dd4e00a8fa
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.
llvm-svn: 34090
2007-02-09 15:21:02 +00:00
Reid Spencer
7d9266a960
Write the deprecation message to stderr instead of stdout so that it
...
doesn't get mingled with the output bytecode.
llvm-svn: 34089
2007-02-09 15:16:59 +00:00
Reid Spencer
17f04ee89a
Eliminate the use of gccas in the test suite.
...
llvm-svn: 34088
2007-02-09 15:15:21 +00:00
Reid Spencer
f4984be9d5
Write the deprecation message to stderr instead of stdout so that it
...
doesn't get mingled with the output bytecode.
llvm-svn: 34087
2007-02-09 15:10:26 +00:00
Chris Lattner
672e5475d1
remove unneeded #includes
...
llvm-svn: 34086
2007-02-09 07:54:13 +00:00
Chris Lattner
096b7f662b
remove dead code, the outputConstants function is now only called at module scope.
...
llvm-svn: 34085
2007-02-09 07:53:20 +00:00
Chris Lattner
5796c232a4
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.
llvm-svn: 34084
2007-02-09 07:51:47 +00:00
Zhou Sheng
20d0f4e319
Eliminates friend function declaration inside APInt, instead, adds public
...
methods as those global function's internal implementation.
llvm-svn: 34083
2007-02-09 07:48:24 +00:00
Chris Lattner
ef0dd1c647
Add ppc-specific test for better i64 compare codegen.
...
llvm-svn: 34082
2007-02-09 04:49:46 +00:00
Nate Begeman
e7902cc8ba
Remove fixed item
...
llvm-svn: 34081
2007-02-09 04:19:54 +00:00
Reid Spencer
0bb10a766e
Fix some formatting mistakes.
...
llvm-svn: 34080
2007-02-09 04:15:08 +00:00
Reid Spencer
0f6d2e8755
Merge gccld documentation in here. gccld will go away soon.
...
llvm-svn: 34079
2007-02-09 04:12:51 +00:00