oota-llvm.git
17 years agoMake find return the appropriate iterator/const_iterator
Chris Lattner [Sat, 10 Feb 2007 06:58:17 +0000 (06:58 +0000)]
Make find return the appropriate iterator/const_iterator

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34137 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agouse typedefs where appropriate
Chris Lattner [Sat, 10 Feb 2007 06:42:23 +0000 (06:42 +0000)]
use typedefs where appropriate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34136 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThe ModuleLevel vector is often quite sparse. Switch it to a DenseMap. This
Chris Lattner [Sat, 10 Feb 2007 06:38:19 +0000 (06:38 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34135 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAllow DenseMAp to take an explicit DenseMapKeyInfo
Chris Lattner [Sat, 10 Feb 2007 06:34:58 +0000 (06:34 +0000)]
Allow DenseMAp to take an explicit DenseMapKeyInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34134 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake the ModuleLevel datastructure more sane. When a function-local value
Chris Lattner [Sat, 10 Feb 2007 06:09:41 +0000 (06:09 +0000)]
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

17 years agoOnly compute the module levels info once per module, instead of once
Chris Lattner [Sat, 10 Feb 2007 05:54:33 +0000 (05:54 +0000)]
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

17 years agoClone and specialize CreateSlotIfNeeded into CreateFunctionValueSlot to handle
Chris Lattner [Sat, 10 Feb 2007 05:45:09 +0000 (05:45 +0000)]
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

17 years agomake getSlot/getTypeSlot inline
Chris Lattner [Sat, 10 Feb 2007 05:18:35 +0000 (05:18 +0000)]
make getSlot/getTypeSlot inline

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34130 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agogetTypeSlot can never fail
Chris Lattner [Sat, 10 Feb 2007 05:17:48 +0000 (05:17 +0000)]
getTypeSlot can never fail

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34129 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agogetSlot can never fail. Make it assert internally, eliminate checks in
Chris Lattner [Sat, 10 Feb 2007 05:13:03 +0000 (05:13 +0000)]
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

17 years agosimplify getOrCreateTypeSlot, eliminat doInsertType. Eliminate post-order iteration...
Chris Lattner [Sat, 10 Feb 2007 05:02:50 +0000 (05:02 +0000)]
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

17 years agosimplify and speed up recursive type processing.
Chris Lattner [Sat, 10 Feb 2007 04:57:36 +0000 (04:57 +0000)]
simplify and speed up recursive type processing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34126 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agorename getOrCreateSlot -> CreateSlotIfNeeded. Noone cares about the retval
Chris Lattner [Sat, 10 Feb 2007 04:54:01 +0000 (04:54 +0000)]
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

17 years agorefactor callers of insertType. inline insertType into its one remaining caller.
Chris Lattner [Sat, 10 Feb 2007 04:51:21 +0000 (04:51 +0000)]
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

17 years agosimplify code.
Chris Lattner [Sat, 10 Feb 2007 04:47:51 +0000 (04:47 +0000)]
simplify code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34123 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agosimplify some logic, reduce nesting
Chris Lattner [Sat, 10 Feb 2007 04:42:30 +0000 (04:42 +0000)]
simplify some logic, reduce nesting

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34122 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove dead ctor
Chris Lattner [Sat, 10 Feb 2007 04:38:34 +0000 (04:38 +0000)]
Remove dead ctor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34121 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoModuleContainsAllFunctionConstants is always true
Chris Lattner [Sat, 10 Feb 2007 04:36:10 +0000 (04:36 +0000)]
ModuleContainsAllFunctionConstants is always true

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34120 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoonly one client of getOrCreateSlot can pass a void typed value. Check type
Chris Lattner [Sat, 10 Feb 2007 04:31:52 +0000 (04:31 +0000)]
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

17 years agoinline hasNullValue, rename some variables, simplify some code.
Chris Lattner [Sat, 10 Feb 2007 04:29:03 +0000 (04:29 +0000)]
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

17 years agomerge insertValue into its single caller, eliminate some redundant checks.
Chris Lattner [Sat, 10 Feb 2007 04:25:02 +0000 (04:25 +0000)]
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

17 years agomerge doInsertValue into insertValue
Chris Lattner [Sat, 10 Feb 2007 04:22:30 +0000 (04:22 +0000)]
merge doInsertValue into insertValue

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34116 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoinsertvalue's second operand is always false
Chris Lattner [Sat, 10 Feb 2007 04:19:31 +0000 (04:19 +0000)]
insertvalue's second operand is always false

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34115 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove dead 'dontIgnore' flag for insertType
Chris Lattner [Sat, 10 Feb 2007 04:17:41 +0000 (04:17 +0000)]
remove dead 'dontIgnore' flag for insertType

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34114 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agorename getSlot -> getSlotType and getOrCreateSlot ->getOrCreateTypeSlot
Chris Lattner [Sat, 10 Feb 2007 04:15:40 +0000 (04:15 +0000)]
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

17 years agoAdd function live-ins to entry block live-in set.
Evan Cheng [Sat, 10 Feb 2007 02:43:39 +0000 (02:43 +0000)]
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

17 years agoAdd live-ins to MachineBasicBlock.
Evan Cheng [Sat, 10 Feb 2007 02:38:19 +0000 (02:38 +0000)]
Add live-ins to MachineBasicBlock.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34111 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRename some variables to avoid confusion with SelectionDAGISel::BB.
Evan Cheng [Sat, 10 Feb 2007 01:08:18 +0000 (01:08 +0000)]
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

17 years agoThese vectors are frequently large. Use std::vector instead.
Evan Cheng [Fri, 9 Feb 2007 23:59:14 +0000 (23:59 +0000)]
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

17 years agoFix clients like this:
Chris Lattner [Fri, 9 Feb 2007 22:24:04 +0000 (22:24 +0000)]
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

17 years agoAdd reference counting to constantpool entries. Delete the unused ones.
Evan Cheng [Fri, 9 Feb 2007 20:54:44 +0000 (20:54 +0000)]
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

17 years agoUse int32_t and uint32_t to hopefully help weak compilers (cygwin) not
Reid Spencer [Fri, 9 Feb 2007 18:03:35 +0000 (18:03 +0000)]
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

17 years agoint -> i32, etc.
Reid Spencer [Fri, 9 Feb 2007 17:56:02 +0000 (17:56 +0000)]
int -> i32, etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34102 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a note
Chris Lattner [Fri, 9 Feb 2007 17:38:01 +0000 (17:38 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34101 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoGet the use of \ right.
Reid Spencer [Fri, 9 Feb 2007 17:18:42 +0000 (17:18 +0000)]
Get the use of \ right.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34100 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix some bugs in module building that broke llvm-stacker project.
Reid Spencer [Fri, 9 Feb 2007 17:09:14 +0000 (17:09 +0000)]
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

17 years agoNow that gccas and gccld are just schell scripts, adjust the build ordering
Reid Spencer [Fri, 9 Feb 2007 17:02:07 +0000 (17:02 +0000)]
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

17 years agoRemove gccas.pod and references to gccas and gccld.
Reid Spencer [Fri, 9 Feb 2007 16:56:25 +0000 (16:56 +0000)]
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

17 years agoChange a reference to gccas to a reference to opt.
Reid Spencer [Fri, 9 Feb 2007 16:00:28 +0000 (16:00 +0000)]
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

17 years agoRemove references to gccld and gccas, adjusting the documentation to
Reid Spencer [Fri, 9 Feb 2007 15:59:08 +0000 (15:59 +0000)]
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

17 years agoDon't use gccld or gccas
Reid Spencer [Fri, 9 Feb 2007 15:52:07 +0000 (15:52 +0000)]
Don't use gccld or gccas

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34093 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agogccld is gone.
Reid Spencer [Fri, 9 Feb 2007 15:33:12 +0000 (15:33 +0000)]
gccld is gone.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34092 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake SlotCalculator::getPlane an inline function. It is used inside loops.
Reid Spencer [Fri, 9 Feb 2007 15:25:50 +0000 (15:25 +0000)]
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

17 years agoEnd of life for gccld. Remove its source code and enable the generation
Reid Spencer [Fri, 9 Feb 2007 15:21:02 +0000 (15:21 +0000)]
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

17 years agoWrite the deprecation message to stderr instead of stdout so that it
Reid Spencer [Fri, 9 Feb 2007 15:16:59 +0000 (15:16 +0000)]
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

17 years agoEliminate the use of gccas in the test suite.
Reid Spencer [Fri, 9 Feb 2007 15:15:21 +0000 (15:15 +0000)]
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

17 years agoWrite the deprecation message to stderr instead of stdout so that it
Reid Spencer [Fri, 9 Feb 2007 15:10:26 +0000 (15:10 +0000)]
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

17 years agoremove unneeded #includes
Chris Lattner [Fri, 9 Feb 2007 07:54:13 +0000 (07:54 +0000)]
remove unneeded #includes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34086 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove dead code, the outputConstants function is now only called at module scope.
Chris Lattner [Fri, 9 Feb 2007 07:53:20 +0000 (07:53 +0000)]
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

17 years ago1. constants can never occur in the symbol table.
Chris Lattner [Fri, 9 Feb 2007 07:51:47 +0000 (07:51 +0000)]
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

17 years agoEliminates friend function declaration inside APInt, instead, adds public
Zhou Sheng [Fri, 9 Feb 2007 07:48:24 +0000 (07:48 +0000)]
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

17 years agoAdd ppc-specific test for better i64 compare codegen.
Chris Lattner [Fri, 9 Feb 2007 04:49:46 +0000 (04:49 +0000)]
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

17 years agoRemove fixed item
Nate Begeman [Fri, 9 Feb 2007 04:19:54 +0000 (04:19 +0000)]
Remove fixed item

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34081 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix some formatting mistakes.
Reid Spencer [Fri, 9 Feb 2007 04:15:08 +0000 (04:15 +0000)]
Fix some formatting mistakes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34080 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMerge gccld documentation in here. gccld will go away soon.
Reid Spencer [Fri, 9 Feb 2007 04:12:51 +0000 (04:12 +0000)]
Merge gccld documentation in here. gccld will go away soon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34079 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPut in a disabled template for when gccld is replaced by the shell script.
Reid Spencer [Fri, 9 Feb 2007 03:15:18 +0000 (03:15 +0000)]
Put in a disabled template for when gccld is replaced by the shell script.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34076 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoGet the right warning message.
Reid Spencer [Fri, 9 Feb 2007 03:12:21 +0000 (03:12 +0000)]
Get the right warning message.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34075 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew shell script to replace gccld, eventually.
Reid Spencer [Fri, 9 Feb 2007 03:09:26 +0000 (03:09 +0000)]
New shell script to replace gccld, eventually.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34074 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoClean up error handling.
Reid Spencer [Fri, 9 Feb 2007 03:08:06 +0000 (03:08 +0000)]
Clean up error handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34073 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThis is done.
Evan Cheng [Thu, 8 Feb 2007 23:53:38 +0000 (23:53 +0000)]
This is done.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34072 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoi64 setcc tests.
Evan Cheng [Thu, 8 Feb 2007 22:27:55 +0000 (22:27 +0000)]
i64 setcc tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34067 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake use of TLI.SimplifySetCC() in LegalizeSetCCOperands().
Evan Cheng [Thu, 8 Feb 2007 22:16:19 +0000 (22:16 +0000)]
Make use of TLI.SimplifySetCC() in LegalizeSetCCOperands().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34066 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMove SimplifySetCC to TargetLowering and allow it to be shared with legalizer.
Evan Cheng [Thu, 8 Feb 2007 22:13:59 +0000 (22:13 +0000)]
Move SimplifySetCC to TargetLowering and allow it to be shared with legalizer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34065 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRename CStringMap -> StringMap, since it now supports nul characters in the
Chris Lattner [Thu, 8 Feb 2007 19:20:57 +0000 (19:20 +0000)]
Rename CStringMap -> StringMap, since it now supports nul characters in the
strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34064 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoupdate this.
Chris Lattner [Thu, 8 Feb 2007 19:14:21 +0000 (19:14 +0000)]
update this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34063 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAllow cstringmap to contain strings with nul characters in them.
Chris Lattner [Thu, 8 Feb 2007 19:08:37 +0000 (19:08 +0000)]
Allow cstringmap to contain strings with nul characters in them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34062 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1153:
Reid Spencer [Thu, 8 Feb 2007 19:03:11 +0000 (19:03 +0000)]
For PR1153:
Copy a couple more missing options from gccld to llvm-ld.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34061 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1153:
Reid Spencer [Thu, 8 Feb 2007 18:13:59 +0000 (18:13 +0000)]
For PR1153:
Make llvm-ld more gccld-like by having it run the same set of passes. The
delta was probably due to lack of llvm-ld being maintained. Just another
reason to have only one optimizing linker in in LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34058 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoreturn addresses, those I already have
Andrew Lenharth [Thu, 8 Feb 2007 17:37:41 +0000 (17:37 +0000)]
return addresses, those I already have

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34056 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDescribe llvm/test more accurately given recent changes.
Reid Spencer [Thu, 8 Feb 2007 17:00:55 +0000 (17:00 +0000)]
Describe llvm/test more accurately given recent changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34055 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSwitched this file on accidently.
Zhou Sheng [Thu, 8 Feb 2007 16:45:48 +0000 (16:45 +0000)]
Switched this file on accidently.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34054 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAs Chris and Reid suggested, remove "isSigned" field from APInt, instead,
Zhou Sheng [Thu, 8 Feb 2007 14:35:19 +0000 (14:35 +0000)]
As Chris and Reid suggested, remove "isSigned" field from APInt, instead,
add some signed/unsigned arithmetic operation functions into APInt.h to
handle the signed/unsigned issue. These functions will be defined inside a
namespace "APIntOps" which is inside llvm namespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34053 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew test cases for PR1187
Reid Spencer [Thu, 8 Feb 2007 09:10:22 +0000 (09:10 +0000)]
New test cases for PR1187

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34052 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake this legal input.
Reid Spencer [Thu, 8 Feb 2007 09:09:36 +0000 (09:09 +0000)]
Make this legal input.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34051 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegenerate.
Reid Spencer [Thu, 8 Feb 2007 09:08:52 +0000 (09:08 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34050 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRename a field so there's less confusion between fields of the same name.
Reid Spencer [Thu, 8 Feb 2007 09:08:23 +0000 (09:08 +0000)]
Rename a field so there's less confusion between fields of the same name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34049 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1187:
Reid Spencer [Thu, 8 Feb 2007 09:07:25 +0000 (09:07 +0000)]
For PR1187:
Rename function scope names that conflict with basic block names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34048 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1187:
Reid Spencer [Thu, 8 Feb 2007 08:47:38 +0000 (08:47 +0000)]
For PR1187:
Always rename, never give a redef error. We could check for collapsed type
planes and generate an error if that's not the cause, but the 99.9999
percentile case will be that its the result of collapsed type planes. So,
rather than doing an expensive check, just rename.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34047 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1187:
Reid Spencer [Thu, 8 Feb 2007 08:09:36 +0000 (08:09 +0000)]
For PR1187:
Some changes to get the smbd.ll test case working:
1. Move the logic for CSRETCC->sret attribute out of the ResolveDefinitions
   code and into getExistingValue. This resolves it much earlier and works
   in function scope as well.
2. Fix handling of CSRETCC->sret for the store instruction.
3. Rewrite the code for handling renaming to factor in linkage types.
4. Rename a structure filed for a PATypeInfo* so it doesn't get confused
   with a field for a Type*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34043 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd some more interesting cases to this test.
Reid Spencer [Thu, 8 Feb 2007 08:03:46 +0000 (08:03 +0000)]
Add some more interesting cases to this test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34042 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1187:
Reid Spencer [Thu, 8 Feb 2007 06:45:02 +0000 (06:45 +0000)]
For PR1187:
Add some interesting CSRETCC upgrade cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34041 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFixed comments.
Bill Wendling [Thu, 8 Feb 2007 06:05:08 +0000 (06:05 +0000)]
Fixed comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34040 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFixed a long standing spiller bug that's exposed by Thumb:
Evan Cheng [Thu, 8 Feb 2007 06:04:54 +0000 (06:04 +0000)]
Fixed a long standing spiller bug that's exposed by Thumb:

The code sequence before the spiller is something like:
                 = tMOVrr
        %reg1117 = tMOVrr
        %reg1078 = tLSLri %reg1117, 2

The it starts spilling:
        %r0 = tRestore <fi#5>, 0
        %r1 = tRestore <fi#7>, 0
        %r1 = tMOVrr %r1<kill>
        tSpill %r1, <fi#5>, 0
        %reg1078 = tLSLri %reg1117, 2

It restores the value while processing the first tMOVrr. At this point, the
spiller remembers fi#5 is available in %r0. Next it processes the second move.
It restores the source before the move and spills the result afterwards. The
move becomes a noop and is deleted. However, a spill has been inserted and that
should invalidate reuse of %r0 for fi#5 and add reuse of %r1 for fi#5.
Therefore, %reg1117 (which is also assigned fi#5) should get %r1, not %r0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34039 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNew testcase for PR947
Chris Lattner [Thu, 8 Feb 2007 04:34:03 +0000 (04:34 +0000)]
New testcase for PR947

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34038 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agollvm-gcc3 is gone
Chris Lattner [Thu, 8 Feb 2007 04:31:15 +0000 (04:31 +0000)]
llvm-gcc3 is gone

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34037 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAvoid assert() in lto. Let linker handle all failures. Use LTO_WRITE_FAILURE
Bill Wendling [Thu, 8 Feb 2007 01:48:28 +0000 (01:48 +0000)]
Avoid assert() in lto. Let linker handle all failures. Use LTO_WRITE_FAILURE
instead of LTO_UNKNOWN.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34036 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThe new version of how to add passes to emit files. We explicitly call a
Bill Wendling [Thu, 8 Feb 2007 01:41:07 +0000 (01:41 +0000)]
The new version of how to add passes to emit files. We explicitly call a
function to add the file writers between calls to add the passes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34035 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMoved the MachOWriter and ELFWriter out of the Target/* files. Placed the
Bill Wendling [Thu, 8 Feb 2007 01:39:44 +0000 (01:39 +0000)]
Moved the MachOWriter and ELFWriter out of the Target/* files. Placed the
definition of it into the CodeGen library. This is so that a backend doesn't
necessarily add in these writers if it doesn't use them (like in the lli
program).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34034 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdded new method to add a "simple" code emitter. That is, to only add
Bill Wendling [Thu, 8 Feb 2007 01:38:33 +0000 (01:38 +0000)]
Added new method to add a "simple" code emitter. That is, to only add
the code emitter and not set variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34033 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSplit the addPassesToEmitFile method up into two. This is so that we can
Bill Wendling [Thu, 8 Feb 2007 01:36:53 +0000 (01:36 +0000)]
Split the addPassesToEmitFile method up into two. This is so that we can
do some common stuff, then on our own add an object file writer (by calling
a concrete function), and then do some finishing stuff, if need be.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34032 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd function to create a file writer.
Bill Wendling [Thu, 8 Feb 2007 01:35:27 +0000 (01:35 +0000)]
Add function to create a file writer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34031 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdded new method to finish up the addition of passes to emit files. This
Bill Wendling [Thu, 8 Feb 2007 01:34:45 +0000 (01:34 +0000)]
Added new method to finish up the addition of passes to emit files. This
allows us to split that method into two so that we can optionally call a
concrete function to add a writer. Removed moribund addObjectWriter()
method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34030 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDead files. Functionality has been taken over by the Add*Writer functions.
Bill Wendling [Thu, 8 Feb 2007 01:32:51 +0000 (01:32 +0000)]
Dead files. Functionality has been taken over by the Add*Writer functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34029 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDeclarations for functions that create different file writers.
Bill Wendling [Thu, 8 Feb 2007 01:31:38 +0000 (01:31 +0000)]
Declarations for functions that create different file writers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34028 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMoved from include/llvm/CodeGen to lib/CodeGen.
Bill Wendling [Thu, 8 Feb 2007 01:30:50 +0000 (01:30 +0000)]
Moved from include/llvm/CodeGen to lib/CodeGen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34027 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1188:
Reid Spencer [Thu, 8 Feb 2007 00:29:31 +0000 (00:29 +0000)]
For PR1188:
Compute BitMask correctly.

Patch by Leo (wenwenti@hotmail.com).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34026 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegenerate for recent changes.
Reid Spencer [Thu, 8 Feb 2007 00:21:40 +0000 (00:21 +0000)]
Regenerate for recent changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34025 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1187:
Reid Spencer [Thu, 8 Feb 2007 00:21:06 +0000 (00:21 +0000)]
For PR1187:
When a naming conflict arises, allow internal linkage functions to be
renamed without warning or error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34024 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1187:
Reid Spencer [Thu, 8 Feb 2007 00:19:40 +0000 (00:19 +0000)]
For PR1187:
Allow @ before identifer names. Recognize the i1, i8, i16, i32, i64 keywords
as type names corresponding to bool, ubyte, ushort, uint, and ulong
respectively. While these aren't LLVM 1.9 constructs, permitting the syntax
allows post-1.9 assembly files to be upgraded.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34023 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agomove archive-specific stuff out of bcreader into archive library.
Chris Lattner [Wed, 7 Feb 2007 23:53:17 +0000 (23:53 +0000)]
move archive-specific stuff out of bcreader into archive library.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34022 91177308-0d34-0410-b5e6-96231b3b80d8