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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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