1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 05:53:07 +01:00
Commit Graph

64485 Commits

Author SHA1 Message Date
Daniel Dunbar
082043aa74 projects: Don't try to build libcxx if one happens to have it checked out into
llvm/projects.

llvm-svn: 113490
2010-09-09 15:49:32 +00:00
Benjamin Kramer
8849104392 Add an elf-dumper utility.
- Output format and some of the code stolen from macho-dump.
- Somewhat incomplete and probably buggy.
- Comes with a very basic test.

llvm-svn: 113488
2010-09-09 15:00:41 +00:00
NAKAMURA Takumi
aa9b257b29 lib/System/Host.cpp: 7bit-ize. Eliminate "TM" and "(R)" in comments.
llvm-svn: 113486
2010-09-09 13:30:48 +00:00
Duncan Sands
4a66e8e24d Get rid of the last use of -m64 in FrontendC. This solution
of checking for either 4 or 8 is not very satisfactory, but
it would catch the original problem (an alignment of 1).

llvm-svn: 113485
2010-09-09 12:57:29 +00:00
Duncan Sands
3030644248 Another test that uses -m64. Here too it looks like it can be
removed.  Not that the XTARGET wasn't doing anything since it
does nothing without an accompanying XFAIL.

llvm-svn: 113484
2010-09-09 12:48:04 +00:00
Duncan Sands
e89d619d23 On i386, llvm-gcc cannot be assumed to support -m64. Since these
tests pass here (i686-linux and x86-64-linux) without -m64, simply
remove the -m64.

llvm-svn: 113483
2010-09-09 12:43:44 +00:00
Duncan Sands
5e4622cc87 This script is executable.
llvm-svn: 113479
2010-09-09 09:37:54 +00:00
Kalle Raiskila
0f53cff753 Silence compiler warning.
llvm-svn: 113478
2010-09-09 07:30:15 +00:00
Bob Wilson
524123343c Fix NEON VLD pseudo instruction itineraries that were incorrectly copied from
the VST pseudos.  The VLD/VST scheduling still needs work (see pr6722), but
at least we shouldn't confuse the loads with the stores.

llvm-svn: 113473
2010-09-09 05:40:26 +00:00
Eric Christopher
e5bf22fd67 Nuke whitespace and fix some indenting.
llvm-svn: 113463
2010-09-09 01:06:51 +00:00
Dale Johannesen
7469923117 Move most MMX instructions (defined as anything that
uses MMX, even if it also uses other things) from InstrSSE
into InstrMMX.  No (intended) functional change.

llvm-svn: 113462
2010-09-09 01:02:39 +00:00
Eric Christopher
8c3a582b5f Handle 64-bit floating point binops as well.
llvm-svn: 113461
2010-09-09 01:02:03 +00:00
Eric Christopher
f2f2b06719 Basic 32-bit FP operations.
llvm-svn: 113459
2010-09-09 00:53:57 +00:00
Bob Wilson
2b284b178f For double-spaced VLD3/VLD4 instructions, copy the explicit super-register use
operand from the pseudo instruction to the new instruction as an implicit use.
This will preserve any other flags (e.g., kill) on the operand.

llvm-svn: 113456
2010-09-09 00:38:32 +00:00
Eric Christopher
88c13fcb96 Handle float->double extension.
llvm-svn: 113455
2010-09-09 00:26:48 +00:00
Eric Christopher
ebfbac39cf Rewrite TargetMaterializeConstant splitting it out into two functions
for integer and fp constants. Implement todo to use vfp3 instructions
to materialize easy constants if we can.

llvm-svn: 113453
2010-09-09 00:19:41 +00:00
Bob Wilson
92b5646145 Simplify copying over operands from pseudo NEON load/store instructions.
For VLD3/VLD4 with double-spaced registers, add the implicit use of the
super register for both the instruction loading the even registers and the
instruction loading the odd registers.

llvm-svn: 113452
2010-09-09 00:15:32 +00:00
Jakob Stoklund Olesen
6ddb47f4ee Rearrange for better alignment and less padding
llvm-svn: 113445
2010-09-08 23:54:00 +00:00
Bob Wilson
97c066dfac Clean up a comment.
llvm-svn: 113442
2010-09-08 23:39:54 +00:00
Eric Christopher
66c62991e0 Very basic compare support.
llvm-svn: 113440
2010-09-08 23:13:45 +00:00
Owen Anderson
956afdd1f2 Relax the "don't unroll loops containing calls" rule. Instead, when a loop contains a call, lower the
unrolling threshold to the optimize-for-size threshold.  Basically, for loops containing calls, unrolling
can still be profitable as long as the loop is REALLY small.

llvm-svn: 113439
2010-09-08 23:10:07 +00:00
Eric Christopher
2a86c17b8d Delete dead code.
llvm-svn: 113436
2010-09-08 22:58:35 +00:00
Evan Cheng
b87520ca74 Fix LDM_RET schedule itinery.
llvm-svn: 113435
2010-09-08 22:57:08 +00:00
Chris Lattner
43c86a062c fix rdar://8407548, I missed the commuted form of xchg/test without a suffix.
llvm-svn: 113427
2010-09-08 22:27:05 +00:00
Chris Lattner
7e0932fb43 fix wonky formatting.
llvm-svn: 113426
2010-09-08 22:22:10 +00:00
Owen Anderson
c51d7d1a8d Generalize instcombine's support for combining multiple bit checks into a single test. Patch by Dirk Steinke!
llvm-svn: 113423
2010-09-08 22:16:17 +00:00
Chris Lattner
5234733554 fix bugs in push/pop segment support, rdar://8407242
llvm-svn: 113422
2010-09-08 22:13:08 +00:00
Dale Johannesen
165cfe63b4 Add intrinsic-based patterns for MMX PINSRW and PEXTRW.
llvm-svn: 113420
2010-09-08 22:08:40 +00:00
Eric Christopher
bc029c3eb0 Make the loads/stores match the type we really want to store.
llvm-svn: 113417
2010-09-08 21:49:50 +00:00
Jakob Stoklund Olesen
0d27bf88e2 Remove dead code and data.
llvm-svn: 113411
2010-09-08 21:21:28 +00:00
Dale Johannesen
3716bed25c Check in forgotten file. Should fix build.
llvm-svn: 113409
2010-09-08 21:09:48 +00:00
Dale Johannesen
92311463f4 Slight cleanup, use only one form of MMXI_binop_rm_int.
llvm-svn: 113406
2010-09-08 20:54:00 +00:00
Michael J. Spencer
a72466bbca CMake: Use the svn revision information from git-svn if available.
llvm-svn: 113405
2010-09-08 20:49:40 +00:00
Bill Wendling
2c5754557c Remove --with-gxx-include-dir option because it's causing problems on non-Darwin platforms.
llvm-svn: 113401
2010-09-08 20:21:11 +00:00
Jim Grosbach
0f01a7319e Re-enable usage of the ARM base pointer. r113394 fixed the known failures.
Re-running some nightly testers w/ it enabled to verify.

llvm-svn: 113399
2010-09-08 20:12:02 +00:00
Bill Wendling
ecd5222209 Add an option to not test ObjC for those platforms which don't support it.
llvm-svn: 113398
2010-09-08 20:09:14 +00:00
Duncan Sands
e1a9a9bb8f Correct variable name.
llvm-svn: 113395
2010-09-08 19:58:15 +00:00
Jim Grosbach
e709eae92e Fix errant fall-throughs causing the base pointer to be used when the frame
pointer was intended. rdar://8401980

llvm-svn: 113394
2010-09-08 19:55:28 +00:00
Duncan Sands
5a2b5dea98 Move the number of cpus logic to somewhere more logical.
llvm-svn: 113393
2010-09-08 19:50:25 +00:00
Eric Christopher
95fe7f6d38 Remove ssp from this test.
llvm-svn: 113392
2010-09-08 19:32:34 +00:00
Dale Johannesen
464762ad1a Add intrinsic forms of mmx<->sse conversions. Notes:
Omission of memory form of PI2PD is intentional; this
does not use an MMX register and does not put the chip
into MMX mode (PI2PS, oddly enough, does).
Operands of PI2PS follow the gcc builtin, not Intel.

llvm-svn: 113388
2010-09-08 19:15:38 +00:00
Eric Christopher
4108aae8d3 Rewrite TargetMaterializeConstant.
llvm-svn: 113387
2010-09-08 18:56:34 +00:00
Jakob Stoklund Olesen
db1636ff8c Remove dead code.
llvm-svn: 113386
2010-09-08 18:50:24 +00:00
Owen Anderson
700d71937c Move private member functions to the end of the class declaration.
llvm-svn: 113385
2010-09-08 18:41:07 +00:00
Bill Wendling
a83eb43cb8 A script that tests a certain release candidate in several modes. It does a
2-phase build of llvm and llvm-gcc, similar to what the buildbots do, and runs
the regression testsuite.

Things to do:

- Work out some bugs with llvm-gcc flags.
- Not all platforms support ObjC.
- Run the test-suite.

llvm-svn: 113382
2010-09-08 18:32:31 +00:00
Owen Anderson
785d0760ab Make module ownership methods on LLVMContext private, and make Module a friend
so that it can access them.  These are not intended to be externally accessible APIs.

llvm-svn: 113380
2010-09-08 18:22:11 +00:00
Bruno Cardoso Lopes
a74c787dc8 Minor change. Fix comments and remove unused and redundant code
llvm-svn: 113378
2010-09-08 18:12:31 +00:00
Roman Divacky
c0f16ab31a ELF_STB_Local is 0 so setting and checking it must be done specially
llvm-svn: 113375
2010-09-08 18:08:40 +00:00
Owen Anderson
c7dd9d3840 Clarify the ownership model of LLVMContext and Module. Namely, contexts own
modules are instantiated in them.  If the context is deleted, all of its owned
modules are also deleted.

llvm-svn: 113374
2010-09-08 18:03:32 +00:00
Bruno Cardoso Lopes
892c337123 x86 vector shuffle lowering now relies only on target specific
nodes to emit shuffles and don't do isel mask matching anymore.
- Add the selection of the remaining shuffle opcode (movddup)
- Introduce two new functions to "recognize" where we may get
potential folds and add several comments to them explaining why
they are not yet in the desidered shape.
- Add more patterns to fallback the case where we select
a specific shuffle opcode as if it could fold a load, but it
can't, so remap to a valid instruction.
- Add a couple of FIXMEs to address in the following days once
there's a good solution to the current folding problem.

llvm-svn: 113369
2010-09-08 17:43:25 +00:00