Anton Korobeynikov
9c87c6526e
Add 'sink' cmdline option. Patch by Mikhail Glushenkov!
...
llvm-svn: 47377
2008-02-20 12:38:07 +00:00
Anton Korobeynikov
53103ebdf6
Regenerate
...
llvm-svn: 47376
2008-02-20 12:10:37 +00:00
Anton Korobeynikov
c41f5b6af4
Fix newly-introduced 4.3 warnings
...
llvm-svn: 47375
2008-02-20 12:07:57 +00:00
Anton Korobeynikov
2523c8be38
Get rid of hash_map. Use StringMap instead
...
llvm-svn: 47373
2008-02-20 11:27:49 +00:00
Anton Korobeynikov
b2dfae5fed
And final pack of warnings silencing
...
llvm-svn: 47372
2008-02-20 11:27:04 +00:00
Anton Korobeynikov
fd6b669c80
Make Transforms to be 4.3 warnings-clean
...
llvm-svn: 47371
2008-02-20 11:26:25 +00:00
Anton Korobeynikov
9b1c5f2cac
Fix code style
...
llvm-svn: 47370
2008-02-20 11:24:05 +00:00
Anton Korobeynikov
4f6e612973
Remove bunch of gcc 4.3-related warnings from Target
...
llvm-svn: 47369
2008-02-20 11:22:39 +00:00
Anton Korobeynikov
7dd00942cc
Update gcc 4.3 warnings fix patch with recent head changes
...
llvm-svn: 47368
2008-02-20 11:10:28 +00:00
Anton Korobeynikov
0c5e186924
Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
...
llvm-svn: 47367
2008-02-20 11:08:44 +00:00
Bill Wendling
54bd12bc49
Added some comments and reformatted others. No functionality change.
...
Added two "FIXMEs" for code that looks dubious to me (but I could be
wrong).
llvm-svn: 47366
2008-02-20 09:15:16 +00:00
Owen Anderson
52ed56338d
When performing return slot optimization, remember to inform memdep when we're removing the memcpy.
...
llvm-svn: 47364
2008-02-20 08:23:02 +00:00
Evan Cheng
a1f7505972
Added memmove to interpreter external functions list. Patch by Daniel Dunbar.
...
llvm-svn: 47363
2008-02-20 07:55:26 +00:00
Bill Wendling
9a2a1ddf6e
More constification of things. More comments added. No functionality
...
changes. (Sorry for any formatting changes that creeped in.)
llvm-svn: 47362
2008-02-20 07:36:31 +00:00
Nick Lewycky
4df6c66b42
Use getConstant for ConstantInts.
...
llvm-svn: 47361
2008-02-20 06:58:55 +00:00
Nick Lewycky
0b6cdd1eff
Add 'umax' similar to 'smax' SCEV. Closes PR2003.
...
Parse reversed smax and umax as smin and umin and express them with negative
or binary-not SCEVs (which are really just subtract under the hood).
Parse 'xor %x, -1' as (-1 - %x).
Remove dead code (ConstantInt::get always returns a ConstantInt).
Don't use getIntegerSCEV(-1, Ty). The first value is an int, then it gets
passed into a uint64_t. Instead, create the -1 directly from
ConstantInt::getAllOnesValue().
llvm-svn: 47360
2008-02-20 06:48:22 +00:00
Chris Lattner
8705005be1
Fix an incredibly subtle bug exposed by Ted's change to APInt profiling.
...
AddNodeIDNode does profiling for a ConstantSDNode, but so does
SelectionDAG::getConstant. This profiling should be moved to a common
static function in ConstantSDNode.
llvm-svn: 47359
2008-02-20 06:28:01 +00:00
Bill Wendling
723b09a29d
No functionality change:
...
- Constified some MachineOperand values.
- Added/Modified some comments.
llvm-svn: 47358
2008-02-20 06:10:21 +00:00
Evan Cheng
e9708c997f
Disable for now. This is pessimizing code.
...
llvm-svn: 47354
2008-02-20 02:29:17 +00:00
Dale Johannesen
7eccf11cfb
Add Alignment field to ParameterAttributes and
...
treat more or less rationally in interface
functions, subject to change. No functional change.
llvm-svn: 47352
2008-02-19 23:51:49 +00:00
Evan Cheng
35253f2c22
Add hidden option -x86-fold-and-in-test to test the effect the test / and folding change.
...
llvm-svn: 47351
2008-02-19 23:36:51 +00:00
Devang Patel
f5e3f35874
regenerate
...
llvm-svn: 47350
2008-02-19 22:27:01 +00:00
Devang Patel
7a4c97d14a
Parse
...
%b = getresult {i32, i32} %a, i32 1
llvm-svn: 47349
2008-02-19 22:26:37 +00:00
Devang Patel
a74d2cbb6f
Add GetResultInst. First step for multiple return value support.
...
llvm-svn: 47348
2008-02-19 22:15:16 +00:00
Dale Johannesen
b022130b62
Generated files for checkin 47342.
...
llvm-svn: 47344
2008-02-19 21:40:51 +00:00
Dale Johannesen
b713b1dde4
Forgot a file, goes with 47342.
...
llvm-svn: 47343
2008-02-19 21:40:10 +00:00
Dale Johannesen
ecb2b233b1
Expand ParameterAttributes to 32 bits (in preparation
...
for adding alignment info, not there yet). Clean up
interfaces to reference ParameterAttributes consistently.
llvm-svn: 47342
2008-02-19 21:38:47 +00:00
Ted Kremenek
0449b1da95
Fixed bug in APInt::Profile() where the BitWidth field was not included in the
...
profile of the APSInt object. This caused unexpected Profile collisions where
none should have occurred.
llvm-svn: 47338
2008-02-19 20:50:41 +00:00
Andrew Lenharth
8e5c7e0bd9
fix some byval problems in the cbe. Closes PR2065
...
llvm-svn: 47337
2008-02-19 19:47:54 +00:00
Chris Lattner
699e5dbcee
random cleanups.
...
llvm-svn: 47334
2008-02-19 18:49:08 +00:00
Chris Lattner
3a4ac3a69e
Don't fold and's into test instructions if they have multiple uses.
...
This compiles test-nofold.ll into:
_test:
movl $15, %ecx
andl 4(%esp), %ecx
testl %ecx, %ecx
movl $42, %eax
cmove %ecx, %eax
ret
instead of:
_test:
movl 4(%esp), %eax
movl %eax, %ecx
andl $15, %ecx
testl $15, %eax
movl $42, %eax
cmove %ecx, %eax
ret
llvm-svn: 47330
2008-02-19 17:37:35 +00:00
Duncan Sands
1bba49ca55
Fix a compiler warning.
...
llvm-svn: 47328
2008-02-19 09:28:48 +00:00
Chris Lattner
ae2f8bc116
remove the LowerSelect pass. The last client was the old Sparc backend, which is long dead by now.
...
llvm-svn: 47323
2008-02-19 07:49:17 +00:00
Chris Lattner
010e9fb704
remove the lower packed pass. It can never work and even the parts that
...
could work don't work fully. This fixes PR1705. Oh yeah, we don't have
packed types anymore either ;-)
llvm-svn: 47322
2008-02-19 07:39:17 +00:00
Owen Anderson
6196cdcb48
Refactor this method a bit, and correct a test that was completely wrong but happened to work out anyways. :-)
...
llvm-svn: 47321
2008-02-19 07:07:51 +00:00
Chris Lattner
99e0b1c063
isa+cast -> dyncast.
...
llvm-svn: 47320
2008-02-19 06:53:20 +00:00
Chris Lattner
0ee0f38084
simplify this code again, try 2 :)
...
llvm-svn: 47319
2008-02-19 06:52:38 +00:00
Owen Anderson
d60bb0a64b
Fix a comment.
...
llvm-svn: 47318
2008-02-19 06:51:23 +00:00
Owen Anderson
3efff61819
In addition to arguments passed to it, memcpy (and all other calls) can ModRef pointers that alias their arguments as well. This fixes PR2057.
...
llvm-svn: 47317
2008-02-19 06:47:18 +00:00
Owen Anderson
dbc264003e
Major improvements to yesterday's return slot optimization. Remove some unneccessary constraints,
...
and add some others that should have been in from the first place. Document the whole thing better.
llvm-svn: 47315
2008-02-19 06:35:43 +00:00
Chris Lattner
85482657eb
Fix some minor issues folding undef, PR2052
...
llvm-svn: 47314
2008-02-19 06:22:12 +00:00
Chris Lattner
6bb889cf84
fdiv/frem of undef can produce undef, because the undef operand
...
can be a SNaN. We could be more aggressive and turn this into
unreachable, but that is less nice, and not really worth it.
llvm-svn: 47313
2008-02-19 06:12:18 +00:00
Chris Lattner
851ebb75de
regenerate
...
llvm-svn: 47312
2008-02-19 04:36:25 +00:00
Chris Lattner
5400cc3907
Fix PR2060 by rejecting invalid types for integer constants.
...
llvm-svn: 47311
2008-02-19 04:36:07 +00:00
Owen Anderson
4e6f18d5bf
Factor the profitability check for return slot optimization out into a static function.
...
At some point in the future, this check will become smarter.
llvm-svn: 47310
2008-02-19 03:27:34 +00:00
Owen Anderson
3782cd74d1
An sret parameter is required to be the first parameter, so there's no need to loop
...
over all the parameters of the callee looking for it.
llvm-svn: 47309
2008-02-19 03:15:29 +00:00
Owen Anderson
ea5cdf1a83
Cleanup some of my patches from yesterday. Refactor the check for which xform
...
to apply to a memcpy into processInstruction. Also, fix a bug in the check due to
missing braces.
llvm-svn: 47307
2008-02-19 03:09:45 +00:00
Owen Anderson
5c258ed93d
Fix Transforms/GVN/memcpy.ll, which Chris broke in r47275 by reordering the branches. memcpy's are a kind of CallInst.
...
llvm-svn: 47305
2008-02-19 02:53:23 +00:00
Evan Cheng
e18e5201fc
PR1909: Tail merging pass ran wild. It makes no sense to merge blocks in order to save a single instruction since a branch will be inserted for each BB.
...
llvm-svn: 47301
2008-02-19 02:09:37 +00:00
Evan Cheng
ece0db124f
Me not like duplicated comments.
...
llvm-svn: 47300
2008-02-19 02:05:16 +00:00