Chris Lattner [Thu, 10 Nov 2005 18:49:46 +0000 (18:49 +0000)]
nuke blank line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24278
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 18:48:58 +0000 (18:48 +0000)]
Make this more efficient of the common case where we are only mangling globals.
Do not mangle internal global names that do not collide with anything.
This gives us strings that now look like this:
__2E_str_1: ; '.str_1'
.asciz "foo"
instead of this:
l1__2E_str_1: ; '.str_1'
.asciz "foo"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24277
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 18:46:57 +0000 (18:46 +0000)]
minor interface changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24276
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 18:36:17 +0000 (18:36 +0000)]
Get rid of casts by #including the right header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24275
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 18:20:29 +0000 (18:20 +0000)]
Make the aix asm printer interface properly with the parent class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24274
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 18:09:27 +0000 (18:09 +0000)]
Compile C strings to:
l1__2E_str_1: ; '.str_1'
.asciz "foo"
not:
.align 0
l1__2E_str_1: ; '.str_1'
.asciz "foo"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24273
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 18:06:33 +0000 (18:06 +0000)]
add support for .asciz, and enable it by default. If your target assemblerdoesn't support .asciz, just set AscizDirective to null in your asmprinter.
This compiles C strings to:
l1__2E_str_1: ; '.str_1'
.asciz "foo"
instead of:
l1__2E_str_1: ; '.str_1'
.ascii "foo\000"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24272
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 18:05:57 +0000 (18:05 +0000)]
add support for .asciz, and enable it by default. If your target assembler
doesn't support .asciz, just set AscizDirective to null in your asmprinter.
This compiles C strings to:
l1__2E_str_1: ; '.str_1'
.asciz "foo"
instead of:
l1__2E_str_1: ; '.str_1'
.ascii "foo\000"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24271
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 10 Nov 2005 17:35:34 +0000 (17:35 +0000)]
this works with backedges to the existing entry block alot better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24270
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 10 Nov 2005 16:59:55 +0000 (16:59 +0000)]
fix a bunch of regressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24269
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 10 Nov 2005 02:07:45 +0000 (02:07 +0000)]
needs to go here to apparently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24268
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 10 Nov 2005 01:58:38 +0000 (01:58 +0000)]
The pass everyone has been waiting for!
Reg2Mem
for fun you can opt -reg2mem -mem2reg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24267
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 01:44:22 +0000 (01:44 +0000)]
Packed elements must be a power of two in size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24266
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 01:42:43 +0000 (01:42 +0000)]
Force vectors to be a power of two in size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24265
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Nov 2005 01:40:59 +0000 (01:40 +0000)]
Force packed vectors to be a power of two in length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24264
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 23:47:37 +0000 (23:47 +0000)]
Switch the allnodes list from a vector of pointers to an ilist of nodes.This eliminates the vector, allows constant time removal of a node froma graph, and makes iteration over the all nodes list stable when adding
nodes to the graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24263
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 23:46:43 +0000 (23:46 +0000)]
Switch the allnodes list from a vector of pointers to an ilist of nodes.
This eliminates the vector, allows constant time removal of a node from
a graph, and makes iteration over the all nodes list stable when adding
nodes to the graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24262
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 19:44:01 +0000 (19:44 +0000)]
Refactor intrinsic lowering stuff out of visitCall
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24261
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 9 Nov 2005 19:17:08 +0000 (19:17 +0000)]
whatever. Intermediate patch to see what breaks. Seems ok.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24260
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 18:48:57 +0000 (18:48 +0000)]
Handle the trivial (but common) two-op case more efficiently
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24259
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 18:22:42 +0000 (18:22 +0000)]
Nuke noop copies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24258
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 16:50:40 +0000 (16:50 +0000)]
Fix CodeGen/X86/shift-folding.ll:test3 on X86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24256
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 05:28:45 +0000 (05:28 +0000)]
Disable some overly-aggressive checking code. This speeds up the local
allocator from 23s to 11s on kc++ in debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24255
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 05:03:03 +0000 (05:03 +0000)]
Avoid creating a token factor node in trivially redundant cases. This
eliminates almost one node per block in common cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24254
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Nov 2005 04:45:33 +0000 (04:45 +0000)]
Handle GEP's a bit more intelligently. Fold constant indices early and
turn power-of-two multiplies into shifts early to improve compile time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24253
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 23:32:44 +0000 (23:32 +0000)]
Allocate the right amount of memory for this vector up front.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24252
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 23:30:28 +0000 (23:30 +0000)]
Change the ValueList array for each node to be shared instead of individuallyallocated. Further, in the common case where a node has a single value, justreference an element from a small array. This is a small compile-time win.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24251
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 23:30:11 +0000 (23:30 +0000)]
Change the ValueList array for each node to be shared instead of individually
allocated. Further, in the common case where a node has a single value, just
reference an element from a small array. This is a small compile-time wi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24250
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 22:07:03 +0000 (22:07 +0000)]
Switch the operandlist/valuelist from being vectors to being just an array.This saves 12 bytes from SDNode, but doesn't speed things up substantially
(our graphs apparently already fit within the cache on my g5). In any case
this reduces memory usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24249
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 22:06:23 +0000 (22:06 +0000)]
Switch the operandlist/valuelist from being vectors to being just an array.
This saves 12 bytes from SDNode, but doesn't speed things up substantially
(our graphs apparently already fit within the cache on my g5). In any case
this reduces memory usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24248
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 21:54:57 +0000 (21:54 +0000)]
Explicitly initialize some instance vars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24247
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 21:29:17 +0000 (21:29 +0000)]
Rip out 1.6ness, bump version # to 1.7cvs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24246
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 8 Nov 2005 21:13:01 +0000 (21:13 +0000)]
Updated version to 1.7cvs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24244
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 8 Nov 2005 21:11:33 +0000 (21:11 +0000)]
Merged from RELEASE_16.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24243
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 18:52:57 +0000 (18:52 +0000)]
adjust itf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24242
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 18:52:27 +0000 (18:52 +0000)]
Clean up RemoveDeadNodes significantly, by eliminating the need for a temporary
set and eliminating the need to iterate whenever something is removed (which
can be really slow in some cases). Thx to Jim for pointing out something silly
I was getting stuck on. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24241
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 02:12:47 +0000 (02:12 +0000)]
Add a new option to indicate we want the code generator to emit code quickly,
not spending tons of time microoptimizing it. This is useful for an -O0
style of build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24235
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 02:12:17 +0000 (02:12 +0000)]
Add a new -fast option, which generates code quickly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24234
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Nov 2005 02:11:51 +0000 (02:11 +0000)]
Add a new option to indicate we want the code generator to emit code quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24233
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 7 Nov 2005 19:08:53 +0000 (19:08 +0000)]
Let's try ignoring resource utilization on the backward pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24231
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Mon, 7 Nov 2005 03:11:02 +0000 (03:11 +0000)]
add support for storing and returning bools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24228
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 17:43:20 +0000 (17:43 +0000)]
Always compute max align.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 17:40:18 +0000 (17:40 +0000)]
Change a comment slightly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24226
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sun, 6 Nov 2005 13:43:30 +0000 (13:43 +0000)]
just some random hacking - calls (particularly indirect) need a lot of
love (especially with -sched=simple)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24225
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 6 Nov 2005 09:00:38 +0000 (09:00 +0000)]
Add the necessary support to the ISel to allow targets to codegen the new
alignment information appropriately. Includes code for PowerPC to support
fixed-size allocas with alignment larger than the stack. Support for
arbitrarily aligned dynamic allocas coming soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 08:23:17 +0000 (08:23 +0000)]
minor clarity changes, no functionality difference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 08:22:18 +0000 (08:22 +0000)]
Make sure to initialize the alignment field
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 08:02:57 +0000 (08:02 +0000)]
document alignment on globals, functions, and allocation instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 07:48:11 +0000 (07:48 +0000)]
Minor correction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24220
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 07:46:13 +0000 (07:46 +0000)]
don't misencode CC#'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24219
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 07:43:39 +0000 (07:43 +0000)]
encode/decode function alignment in bc files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24218
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 07:20:25 +0000 (07:20 +0000)]
describe extensions to the .bc format for function/global alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24217
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 07:11:04 +0000 (07:11 +0000)]
Read/write global variable alignments if present
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24216
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 06:52:11 +0000 (06:52 +0000)]
add alignment info for globals and functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24213
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 06:48:53 +0000 (06:48 +0000)]
print alignment info for globals and functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24212
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 06:46:53 +0000 (06:46 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24211
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 06:46:28 +0000 (06:46 +0000)]
Allow globals to have an alignment specified. Switch to using isPowerOf2_32
at Jim's request for the checking code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24210
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 06:44:42 +0000 (06:44 +0000)]
allow functions and modules to have an explicit alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24209
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 06:34:34 +0000 (06:34 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24208
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Nov 2005 06:34:12 +0000 (06:34 +0000)]
factor optional alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24207
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sun, 6 Nov 2005 04:29:30 +0000 (04:29 +0000)]
ask for 16-byte aligned jmpbufs. This should unbreak C++ on IA64 (and
a bunch of other things) but is currently ignored by the code
generator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24206
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 22:32:06 +0000 (22:32 +0000)]
enumerate non-standard argument encoding cases, such as alignment info for
allocations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 22:20:06 +0000 (22:20 +0000)]
rearrange some info about the instruction encoding
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 22:08:14 +0000 (22:08 +0000)]
Write/read allocation instruction alignment info to .bc files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 22:07:30 +0000 (22:07 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24202
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 21:58:30 +0000 (21:58 +0000)]
add an accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24201
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 21:57:54 +0000 (21:57 +0000)]
verify that alignments are always a power of 2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 21:54:23 +0000 (21:54 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 21:54:03 +0000 (21:54 +0000)]
Verify that alignment amounts are a power of 2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24198
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 21:20:34 +0000 (21:20 +0000)]
fix printing the alignment directive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24197
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 5 Nov 2005 09:21:28 +0000 (09:21 +0000)]
Add support alignment of allocation instructions.
Add support for specifying alignment and size of setjmp jmpbufs.
No targets currently do anything with this information, nor is it presrved
in the bytecode representation. That's coming up next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24196
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 08:57:56 +0000 (08:57 +0000)]
add a case Nate sent me
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24195
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 08:21:11 +0000 (08:21 +0000)]
Implement Transforms/TailCallElim/return-undef.ll, a trivial case
that has been sitting in my inbox since May 18. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24194
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 08:20:28 +0000 (08:20 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24191
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 07:40:31 +0000 (07:40 +0000)]
Turn sdiv into udiv if both operands have a clear sign bit. This occurs
a few times in crafty:
OLD: %tmp.36 = div int %tmp.35, 8 ; <int> [#uses=1]
NEW: %tmp.36 = div uint %tmp.35, 8 ; <uint> [#uses=0]
OLD: %tmp.19 = div int %tmp.18, 8 ; <int> [#uses=1]
NEW: %tmp.19 = div uint %tmp.18, 8 ; <uint> [#uses=0]
OLD: %tmp.117 = div int %tmp.116, 8 ; <int> [#uses=1]
NEW: %tmp.117 = div uint %tmp.116, 8 ; <uint> [#uses=0]
OLD: %tmp.92 = div int %tmp.91, 8 ; <int> [#uses=1]
NEW: %tmp.92 = div uint %tmp.91, 8 ; <uint> [#uses=0]
Which all turn into shrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24190
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Nov 2005 07:28:37 +0000 (07:28 +0000)]
Turn srem -> urem when neither input has their sign bit set. This triggers
8 times in vortex, allowing the srems to be turned into shrs:
OLD: %tmp.104 = rem int %tmp.5.i37, 16 ; <int> [#uses=1]
NEW: %tmp.104 = rem uint %tmp.5.i37, 16 ; <uint> [#uses=0]
OLD: %tmp.98 = rem int %tmp.5.i24, 16 ; <int> [#uses=1]
NEW: %tmp.98 = rem uint %tmp.5.i24, 16 ; <uint> [#uses=0]
OLD: %tmp.91 = rem int %tmp.5.i19, 8 ; <int> [#uses=1]
NEW: %tmp.91 = rem uint %tmp.5.i19, 8 ; <uint> [#uses=0]
OLD: %tmp.88 = rem int %tmp.5.i14, 8 ; <int> [#uses=1]
NEW: %tmp.88 = rem uint %tmp.5.i14, 8 ; <uint> [#uses=0]
OLD: %tmp.85 = rem int %tmp.5.i9, 1024 ; <int> [#uses=2]
NEW: %tmp.85 = rem uint %tmp.5.i9, 1024 ; <uint> [#uses=0]
OLD: %tmp.82 = rem int %tmp.5.i, 512 ; <int> [#uses=2]
NEW: %tmp.82 = rem uint %tmp.5.i1, 512 ; <uint> [#uses=0]
OLD: %tmp.48.i = rem int %tmp.5.i.i161, 4 ; <int> [#uses=1]
NEW: %tmp.48.i = rem uint %tmp.5.i.i161, 4 ; <uint> [#uses=0]
OLD: %tmp.20.i2 = rem int %tmp.5.i.i, 4 ; <int> [#uses=1]
NEW: %tmp.20.i2 = rem uint %tmp.5.i.i, 4 ; <uint> [#uses=0]
it also occurs 9 times in gcc, but with odd constant divisors (1009 and 61)
so the payoff isn't as great.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24189
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 5 Nov 2005 00:01:25 +0000 (00:01 +0000)]
Fix logic bug in finding retry slot in tally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24188
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 4 Nov 2005 18:26:02 +0000 (18:26 +0000)]
Fix a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24187
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Fri, 4 Nov 2005 17:55:53 +0000 (17:55 +0000)]
oops, forgot to load GP for indirect calls, though the old code now commented
out failed (e.g. methcall) - now the code compiles, though it's not quite
right just yet (tm) ;)
would fix this but it's 3am! :O
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24186
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Fri, 4 Nov 2005 10:01:10 +0000 (10:01 +0000)]
kill redundant SP/GP/RP save/restores across calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24183
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Fri, 4 Nov 2005 09:59:06 +0000 (09:59 +0000)]
add support for loading bools
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24182
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 4 Nov 2005 04:05:35 +0000 (04:05 +0000)]
Scheduling now uses itinerary data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24180
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 4 Nov 2005 02:59:16 +0000 (02:59 +0000)]
<cassert> no longer required to make VC++ happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24177
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Fri, 4 Nov 2005 01:45:04 +0000 (01:45 +0000)]
change NULL to 0, unbreaks the ppc target when building on ia64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24176
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Fri, 4 Nov 2005 00:57:56 +0000 (00:57 +0000)]
fun with predicates! (add TRUNC i64->i1, AND i1 i1, fix XOR i1 i1)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24175
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 3 Nov 2005 22:47:41 +0000 (22:47 +0000)]
1. Remove ranges from itinerary data.
2. Tidy up the subtarget emittined code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24172
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Nov 2005 22:33:48 +0000 (22:33 +0000)]
Fix mac os spelling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24171
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Nov 2005 18:32:06 +0000 (18:32 +0000)]
Add more bison versions, thanks to Vladimir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24169
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Nov 2005 18:28:22 +0000 (18:28 +0000)]
Per bug 655, give people more options in case 1.35 doesn't build on their
system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24168
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 3 Nov 2005 10:09:32 +0000 (10:09 +0000)]
add pattern to load constant 0 into a predicate reg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Nov 2005 07:17:51 +0000 (07:17 +0000)]
add a hack that fixes:
llvm-gcc main.c -Wl,-native -o a.out -g
This is important because it used by many configure scripts.
John, please pull this onto the 1.6 branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24163
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Nov 2005 05:46:11 +0000 (05:46 +0000)]
Reject integer literals that are out of range for their type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Nov 2005 05:45:34 +0000 (05:45 +0000)]
Fix a bug that prevented this pattern from matching
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24161
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 2 Nov 2005 18:42:59 +0000 (18:42 +0000)]
Fix a crash that Andrew noticed, and add a pair of braces to unfconfuse
XCode's indenting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24159
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 2 Nov 2005 18:35:40 +0000 (18:35 +0000)]
make this 64 bit clean, fixed test30 of /Regression/Transforms/InstCombine/add.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24158
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 2 Nov 2005 18:34:05 +0000 (18:34 +0000)]
This is missed by InstCombine, patch comming
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24157
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Nov 2005 17:42:58 +0000 (17:42 +0000)]
Fix a QOI issue noticed by Markus F.X.J. Oberhumer.
This fixes PR641
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24154
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 2 Nov 2005 07:32:59 +0000 (07:32 +0000)]
"fix" support for FP constants (this code asserts in the scheduler,
though)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24152
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 2 Nov 2005 07:30:39 +0000 (07:30 +0000)]
add F0 and F1 to the FP register class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24151
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Nov 2005 06:49:37 +0000 (06:49 +0000)]
This works now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24150
91177308-0d34-0410-b5e6-
96231b3b80d8