1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
Commit Graph

61496 Commits

Author SHA1 Message Date
Evan Cheng
a1ebf91a39 Tail merging pass shall not break up IT blocks. rdar://8115404
llvm-svn: 106517
2010-06-22 01:18:16 +00:00
Devang Patel
38d9ee4e35 Discard special LLVM prefix from linkage name.
llvm-svn: 106516
2010-06-22 01:06:05 +00:00
Devang Patel
dee41b010a Do not rely on Twine temporaries to survive.
llvm-svn: 106515
2010-06-22 01:01:58 +00:00
Chris Lattner
3de7445da3 make sure to initialize indent_level
llvm-svn: 106513
2010-06-22 00:40:26 +00:00
Dan Gohman
ac0b4b5352 Fix the new load-unfolding code to update LiveVariable's dead flags,
in addition to the kill flags.

llvm-svn: 106512
2010-06-22 00:32:04 +00:00
Bob Wilson
6a07aa9ae8 Include named metadata when cloning a module.
llvm-svn: 106508
2010-06-22 00:11:03 +00:00
Eric Christopher
eb35756a31 Fix typo.
llvm-svn: 106505
2010-06-21 23:49:08 +00:00
Chris Lattner
6be03758e4 add some support for blockaddress. This isn't really enough to be useful,
but it will cover uses of blockaddress that are actually in a function.

llvm-svn: 106502
2010-06-21 23:19:36 +00:00
Chris Lattner
1d76d7e9b2 eliminate a mutable global variable, use raw_ostream::indent instead of
rolling our own.

llvm-svn: 106501
2010-06-21 23:14:47 +00:00
Chris Lattner
580470b914 un-indent a huge amount of code out of an anonymous namespace.
llvm-svn: 106500
2010-06-21 23:12:56 +00:00
Bruno Cardoso Lopes
d4d53fdb7f revert r106482
llvm-svn: 106499
2010-06-21 22:59:03 +00:00
Chris Lattner
c0d70f4edf fix several bugs in the tutorial, patch by Kevin Kelley!
llvm-svn: 106498
2010-06-21 22:51:14 +00:00
Dan Gohman
bcc040be1b Teach two-address lowering how to unfold a load to open up commuting
opportunities. For example, this lets it emit this:

   movq (%rax), %rcx
   addq %rdx, %rcx

instead of this:

   movq %rdx, %rcx
   addq (%rax), %rcx

in the case where %rdx has subsequent uses. It's the same number
of instructions, and usually the same encoding size on x86, but
it appears faster, and in general, it may allow better scheduling
for the load.

llvm-svn: 106493
2010-06-21 22:17:20 +00:00
Bruno Cardoso Lopes
33256723a7 change parameter name to avoid confusion with global definition
llvm-svn: 106486
2010-06-21 21:28:07 +00:00
Bob Wilson
ef565a2ffd sign_extend_inreg needs to be expanded for pre-v6 Thumb as well as ARM.
Radar 8104310.

llvm-svn: 106484
2010-06-21 21:27:34 +00:00
Jim Grosbach
bc31f7a24b LEApcrelJT shouldn't be marked as neverHasSideEffects, as we don't want it
being moved around away from the jump table it references. rdar://8104340

llvm-svn: 106483
2010-06-21 21:27:27 +00:00
Bruno Cardoso Lopes
40debaf4b8 Add unpack and interleave AVX instructions, encoding tests cooming soon
llvm-svn: 106482
2010-06-21 21:21:48 +00:00
Evan Cheng
167a8655c7 Fix PR7421: bug in kill transferring logic. It was ignoring loads / stores which have already been processed.
llvm-svn: 106481
2010-06-21 21:21:14 +00:00
Chris Lattner
d7df3e9c5c This makes example Makefile a lot more like actual
lib/Transforms/Hello/Makefile, and prevents a lot of errors like "Assertion
`Inserted && "Pass registered multiple times!"' failed"

Patch by Gregory Petrosyan!

llvm-svn: 106471
2010-06-21 20:36:09 +00:00
Eric Christopher
68b77d45c2 Remove isTwoAddress from llvm.
llvm-svn: 106470
2010-06-21 20:35:09 +00:00
Chris Lattner
dbea6d7acb "This is just a cosmetic change in MCAsmStreamer.cpp/EmitSymbolAttribute: all attributes have now a \t before and after, as done for '.type'.
This makes the output look consistent, as well as help some third party assemblers expecting the attributes to be in the second column."

Patch by Arnaud de Grandmaison!

llvm-svn: 106469
2010-06-21 20:35:01 +00:00
Chris Lattner
e636df7c0b fix typos reported by Adam Warner!
llvm-svn: 106468
2010-06-21 20:31:30 +00:00
Eric Christopher
318243d2c6 Remove isTwoAddress from SystemZ.
llvm-svn: 106467
2010-06-21 20:25:57 +00:00
Eric Christopher
5b757ab002 Remove isTwoAddress from Sparc.
llvm-svn: 106466
2010-06-21 20:22:35 +00:00
Eric Christopher
caf8285bff Remove isTwoAddress from Mips.
llvm-svn: 106465
2010-06-21 20:19:21 +00:00
Eric Christopher
109380247d Remove isTwoAddress from Blackfin.
llvm-svn: 106457
2010-06-21 20:13:37 +00:00
Eric Christopher
4173fa9514 Remove isTwoAddress from MSP430.
llvm-svn: 106455
2010-06-21 20:07:30 +00:00
Dan Gohman
cbede71023 Make this test more robust in case LLVM ever decides to align the global
variable differently.

llvm-svn: 106454
2010-06-21 19:56:27 +00:00
Dan Gohman
6a3c46ad49 Use A.append(...) instead of A.insert(A.end(), ...) when A is a
SmallVector, and other SmallVector simplifications.

llvm-svn: 106452
2010-06-21 19:47:52 +00:00
Eric Christopher
27afc6b948 Make 80-column.
llvm-svn: 106448
2010-06-21 18:56:55 +00:00
Eric Christopher
22c623f01c Remove isTwoAddress from PIC16.
llvm-svn: 106447
2010-06-21 18:55:01 +00:00
Eric Christopher
2dae43dbe4 Remove isTwoAddress from XCore.
llvm-svn: 106446
2010-06-21 18:51:38 +00:00
Eric Christopher
f0e2a62b21 Remove isTwoAddress from Alpha.
llvm-svn: 106445
2010-06-21 18:48:55 +00:00
Dan Gohman
745765d0b8 Move several non-performance-critical member functinos out of line.
llvm-svn: 106444
2010-06-21 18:46:45 +00:00
Dale Johannesen
baf342fdab Add missing FileCheck call.
llvm-svn: 106443
2010-06-21 18:46:08 +00:00
Devang Patel
79e2417a08 test case for r106438.
llvm-svn: 106439
2010-06-21 18:37:23 +00:00
Devang Patel
3dbb143c29 Do not directly use function names to construct new name for named metadata.
"llvm.dbg.lv.~A" is not a valid name.

llvm-svn: 106438
2010-06-21 18:36:58 +00:00
Bruno Cardoso Lopes
24af70c17f Move part of SSE 1 & 2 compare, shuffle and unpack instructions closely. Preparing them for refactoring and to the addition of their AVX forms
llvm-svn: 106437
2010-06-21 18:36:04 +00:00
Bruno Cardoso Lopes
aff9b1c52f Add AVX regular (non-aliased ones) and,or,xor,andn packed instructions. They are already tested in the MC framework, no test needed
llvm-svn: 106436
2010-06-21 18:22:54 +00:00
Dale Johannesen
ef3db5dea3 Fix PR 7433. Silly typo in non-Darwin ARM tail call
handling, plus correct R9 handling in that mode.

llvm-svn: 106434
2010-06-21 18:21:49 +00:00
Eric Christopher
8909d46ea2 Add some codegen patterns for x86_64-linux-gnu tls codegen matching.
Based on a patch by Patrick Marlier!

llvm-svn: 106433
2010-06-21 18:21:27 +00:00
Jim Grosbach
e35d35fd0a early exit for dbg_value instructions
llvm-svn: 106430
2010-06-21 17:49:23 +00:00
Chris Lattner
02b23bfd33 remove some dead variables reported by clang++
llvm-svn: 106428
2010-06-21 17:20:18 +00:00
Chris Lattner
42e833c9c4 make the Value constructor protected.
llvm-svn: 106427
2010-06-21 16:46:37 +00:00
Dan Gohman
dde4324c3c Revert r106422, which is breaking the non-fast-isel path.
llvm-svn: 106423
2010-06-21 16:02:28 +00:00
Dan Gohman
2b77cf3eed More changes for non-top-down fast-isel.
Split the code for materializing a value out of
SelectionDAGBuilder::getValue into a helper function, so that it can
be used in other ways. Add a new getNonRegisterValue function which
uses it, for use in code which doesn't want a CopyFromReg even
when FuncMap.ValueMap already has an entry for it.

llvm-svn: 106422
2010-06-21 15:13:54 +00:00
Kalle Raiskila
5e3c80d1f8 Add the check to the testcase of r106419.
llvm-svn: 106421
2010-06-21 15:11:51 +00:00
Kalle Raiskila
2001fd19b9 Mark the SPU 'lr' instruction to never have side effects.
This allows the fast regiser allocator to remove redundant 
register moves.
Update a set of tests that depend on the register allocator
to be linear scan. 

llvm-svn: 106420
2010-06-21 15:08:16 +00:00
Kalle Raiskila
cbd0b7c43b Fix the lowering of VECTOR_SHUFFLE on SPU to handle splats.
llvm-svn: 106419
2010-06-21 14:42:19 +00:00
Dan Gohman
b1b8a3a73a Do one lookup instead of two.
llvm-svn: 106415
2010-06-21 14:21:47 +00:00