Commit Graph

29817 Commits

Author SHA1 Message Date
Chris Lattner 3541003208 Make find return the appropriate iterator/const_iterator
llvm-svn: 34137
2007-02-10 06:58:17 +00:00
Chris Lattner 733a841633 use typedefs where appropriate
llvm-svn: 34136
2007-02-10 06:42:23 +00:00
Chris Lattner cdde9ce28b The ModuleLevel vector is often quite sparse. Switch it to a DenseMap. This
speeds up bcwriting of 447.dealII by 40%, from 4.63s to 3.32s.

llvm-svn: 34135
2007-02-10 06:38:19 +00:00
Chris Lattner d0a27bc995 Allow DenseMAp to take an explicit DenseMapKeyInfo
llvm-svn: 34134
2007-02-10 06:34:58 +00:00
Chris Lattner e06c2fd4df 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%).

llvm-svn: 34133
2007-02-10 06:09:41 +00:00
Chris Lattner 82a06ec1ca 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 a6214fea08 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 0132599b8d make getSlot/getTypeSlot inline
llvm-svn: 34130
2007-02-10 05:18:35 +00:00
Chris Lattner 832676a772 getTypeSlot can never fail
llvm-svn: 34129
2007-02-10 05:17:48 +00:00
Chris Lattner ce57e528f5 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 1e91abbf61 simplify getOrCreateTypeSlot, eliminat doInsertType. Eliminate post-order iteration stuff.
llvm-svn: 34127
2007-02-10 05:02:50 +00:00
Chris Lattner d090c6beed simplify and speed up recursive type processing.
llvm-svn: 34126
2007-02-10 04:57:36 +00:00
Chris Lattner e2154a1fa1 rename getOrCreateSlot -> CreateSlotIfNeeded. Noone cares about the retval
llvm-svn: 34125
2007-02-10 04:54:01 +00:00
Chris Lattner 34495b1b6d refactor callers of insertType. inline insertType into its one remaining caller.
llvm-svn: 34124
2007-02-10 04:51:21 +00:00
Chris Lattner fa60ec48d3 simplify code.
llvm-svn: 34123
2007-02-10 04:47:51 +00:00
Chris Lattner 53d0043173 simplify some logic, reduce nesting
llvm-svn: 34122
2007-02-10 04:42:30 +00:00
Chris Lattner 2a666a0b29 Remove dead ctor
llvm-svn: 34121
2007-02-10 04:38:34 +00:00
Chris Lattner 12002936aa ModuleContainsAllFunctionConstants is always true
llvm-svn: 34120
2007-02-10 04:36:10 +00:00
Chris Lattner c7627ca239 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 3a28413d38 inline hasNullValue, rename some variables, simplify some code.
llvm-svn: 34118
2007-02-10 04:29:03 +00:00
Chris Lattner 0d549b217b merge insertValue into its single caller, eliminate some redundant checks.
llvm-svn: 34117
2007-02-10 04:25:02 +00:00
Chris Lattner 90a8f472da merge doInsertValue into insertValue
llvm-svn: 34116
2007-02-10 04:22:30 +00:00
Chris Lattner dcb209ac9c insertvalue's second operand is always false
llvm-svn: 34115
2007-02-10 04:19:31 +00:00
Chris Lattner ee030194f9 remove dead 'dontIgnore' flag for insertType
llvm-svn: 34114
2007-02-10 04:17:41 +00:00
Chris Lattner 35e18b0d05 rename getSlot -> getSlotType and getOrCreateSlot ->getOrCreateTypeSlot
for types.

llvm-svn: 34113
2007-02-10 04:15:40 +00:00
Evan Cheng 276b44b0f9 Add function live-ins to entry block live-in set.
llvm-svn: 34112
2007-02-10 02:43:39 +00:00
Evan Cheng bcf1d7faef Add live-ins to MachineBasicBlock.
llvm-svn: 34111
2007-02-10 02:38:19 +00:00
Evan Cheng de6083463d Rename some variables to avoid confusion with SelectionDAGISel::BB.
llvm-svn: 34110
2007-02-10 01:08:18 +00:00
Evan Cheng 540f5e0d41 These vectors are frequently large. Use std::vector instead.
llvm-svn: 34109
2007-02-09 23:59:14 +00:00
Chris Lattner d2e8e55ae0 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 8b7700f146 Add reference counting to constantpool entries. Delete the unused ones.
llvm-svn: 34105
2007-02-09 20:54:44 +00:00
Reid Spencer 5808739fac 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 850f09baca int -> i32, etc.
llvm-svn: 34102
2007-02-09 17:56:02 +00:00
Chris Lattner c9088b4c8e add a note
llvm-svn: 34101
2007-02-09 17:38:01 +00:00
Reid Spencer 82f223475d Get the use of \ right.
llvm-svn: 34100
2007-02-09 17:18:42 +00:00
Reid Spencer 7cec4f2e8a Fix some bugs in module building that broke llvm-stacker project.
llvm-svn: 34099
2007-02-09 17:09:14 +00:00
Reid Spencer 49785b92f0 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 6bc8576e74 Remove gccas.pod and references to gccas and gccld.
llvm-svn: 34097
2007-02-09 16:56:25 +00:00
Reid Spencer 2543a22035 Change a reference to gccas to a reference to opt.
llvm-svn: 34095
2007-02-09 16:00:28 +00:00
Reid Spencer a7974ccd97 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 b63d0c4ad2 Don't use gccld or gccas
llvm-svn: 34093
2007-02-09 15:52:07 +00:00
Reid Spencer dac9bac45e gccld is gone.
llvm-svn: 34092
2007-02-09 15:33:12 +00:00
Reid Spencer ca444882bd Make SlotCalculator::getPlane an inline function. It is used inside loops.
llvm-svn: 34091
2007-02-09 15:25:50 +00:00
Reid Spencer ba09f90ddc 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 a7bbb0ed70 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 a83a1dc3dd Eliminate the use of gccas in the test suite.
llvm-svn: 34088
2007-02-09 15:15:21 +00:00
Reid Spencer 2193b85ab0 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 02be9919ab remove unneeded #includes
llvm-svn: 34086
2007-02-09 07:54:13 +00:00
Chris Lattner b3905c70c4 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 fc30d1bb69 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