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

46901 Commits

Author SHA1 Message Date
Mike Stump
5447116cbb Add support for letting the client choose different flavors of NaNs. Testcase to be
added in clang.

llvm-svn: 72606
2009-05-30 03:49:43 +00:00
Bill Wendling
8235a05c1a Untabification.
llvm-svn: 72604
2009-05-30 01:09:53 +00:00
Bill Wendling
d50f27458f Untabify.
llvm-svn: 72603
2009-05-30 00:58:37 +00:00
Evan Cheng
d3943e6171 Untabify.
llvm-svn: 72600
2009-05-30 00:48:34 +00:00
Anton Korobeynikov
4f5b1ef545 Add placeholder for thumb2 stuff
llvm-svn: 72593
2009-05-29 23:41:08 +00:00
Bill Wendling
f26f8a579e Enable GVN Load PRE.
llvm-svn: 72589
2009-05-29 20:38:16 +00:00
Duncan Sands
f4fe76d46b Dan noticed that the verifier wasn't thoroughly checking uses of
invoke results (see the testcases).  Tighten up the checking.

llvm-svn: 72586
2009-05-29 19:39:36 +00:00
Bruno Cardoso Lopes
6ec3c6fab6 Fix some typos
llvm-svn: 72579
2009-05-29 17:08:57 +00:00
Torok Edwin
845fc92978 just show the instruction, its not that slow.
llvm-svn: 72577
2009-05-29 16:58:36 +00:00
Torok Edwin
a4ebdef3e8 for instructions with void type we have no choice but print the instruction as
is, otherwise we get a <badref>.

llvm-svn: 72567
2009-05-29 10:28:44 +00:00
Torok Edwin
4a228edc3a Add a DEBUG() output to GVN that prints the instruction clobbering a load.
This is useful when trying to figure out why GVN didn't eliminate redundant
loads.

llvm-svn: 72565
2009-05-29 09:46:03 +00:00
Owen Anderson
09c469ec35 Fix an issue where phiMap was not being updated properly when doing load PRE.
Diagnosis and patch thanks to Jakub Staszak.

llvm-svn: 72562
2009-05-29 05:37:54 +00:00
Evan Cheng
f911a0825b Default isNarrowingProfitable to false.
llvm-svn: 72561
2009-05-29 05:31:40 +00:00
Evan Cheng
57f85a1529 Remove an accidental commit.
llvm-svn: 72560
2009-05-29 05:28:52 +00:00
Evan Cheng
550fc9ba9f More h-registers tricks: folding zext nodes.
llvm-svn: 72558
2009-05-29 01:44:43 +00:00
Evan Cheng
a36a15ff66 Do not try to create a MVT type of width 0.
llvm-svn: 72557
2009-05-28 23:52:18 +00:00
Bill Wendling
dd6cbdb28c The MONITOR and MWAIT instructions have insufficient information for
decoding. Essentially, they both map to the same column in the "opcode
extensions for one- and two-byte opcodes" table in the x86 manual. The RawFrm
complicates decoding this.

Instead, use opcode 0x01, prefix 0x01, and form MRM1r. Then have the code
emitter special case these, a la [SML]FENCE.

llvm-svn: 72556
2009-05-28 23:40:46 +00:00
Daniel Dunbar
d70415d602 NewNightlyTest.pl: Add a -parallel-jobs argument (set # of jobs for make with
-parallel, instead of always using 2).

llvm-svn: 72551
2009-05-28 22:45:24 +00:00
Eli Friedman
5a376ed43e Add explicit test for PR4280.
llvm-svn: 72539
2009-05-28 21:04:35 +00:00
Eli Friedman
847816ce19 Re-commit r72514 and r72516 with a fixed version of BR_CC lowering.
This patch removes some special cases for opcodes and does a bit of 
cleanup.

llvm-svn: 72536
2009-05-28 20:40:34 +00:00
Evan Cheng
3d35b7e54c Fix MOVMSKPDrr encoding.
llvm-svn: 72535
2009-05-28 18:55:28 +00:00
Evan Cheng
99643b717c Fix PSIGND encoding bug. Patch by Sean Callanan.
llvm-svn: 72534
2009-05-28 18:48:53 +00:00
Evan Cheng
30cec6ac75 Incorporate patch feedbacks.
llvm-svn: 72533
2009-05-28 18:41:02 +00:00
Daniel Dunbar
bf3a09e3ee NightlyTest: Write "sentdata.txt" files and run the -submit-aux script before
sending data to the server.
 - Otherwise if the server connection fails the external script never runs.

Also, create content before initiating connection to try and decrease time we
are connected to llvm.org.

llvm-svn: 72532
2009-05-28 18:31:40 +00:00
Sanjiv Gupta
c31e720f0e Emit debug info for locals with proper scope.
llvm-svn: 72531
2009-05-28 18:24:11 +00:00
Bill Wendling
772ce6d8be Temporarily revert r72514 (and dependent patch r72516). It was causing this
failure during llvm-gcc bootstrap:

Assertion failed: (!Tmp2.getNode() && "Can't legalize BR_CC with legal condition!"), function ExpandNode, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp, line 2923.
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/libgcc2.c:1727: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.

llvm-svn: 72530
2009-05-28 18:18:59 +00:00
Sanjiv Gupta
efc1b70b9e Mark the branch insns correctly.
llvm-svn: 72529
2009-05-28 17:32:56 +00:00
Sanjiv Gupta
b8df12a7ab Fixing problems that got exposed after the refactoring of LegalizeDAG done in 72447.
llvm-svn: 72521
2009-05-28 06:59:57 +00:00
Eli Friedman
8b0b7c2d6d Add a testcase which got fixed by recent legalization work.
llvm-svn: 72517
2009-05-28 05:10:20 +00:00
Eli Friedman
1527c49c0d Remove a couple of useless functions.
llvm-svn: 72516
2009-05-28 04:49:34 +00:00
Eli Friedman
bdd4f7f8d3 Remove special cases for more opcodes.
This is basically the end of this series of patches for LegalizeDAG; the 
remaining special cases can't be removed without more infrastructure 
work.  There's a FIXME for each relevant opcode near the beginning of
SelectionDAGLegalize::LegalizeOp.

llvm-svn: 72514
2009-05-28 04:39:57 +00:00
Eli Friedman
c21c8b3311 Return the operand rather than a null SDValue when the given SELECT_CC
is actually legal.  Part of LegalizeDAG cleanups.

llvm-svn: 72513
2009-05-28 04:31:08 +00:00
Nick Lewycky
3dd0d690f3 Use Operands.data() instead of &Operands[0] where Operands is a potentially
empty SmallVector.

llvm-svn: 72512
2009-05-28 04:08:10 +00:00
Eli Friedman
9928c800a4 Remove special case for SETCC opcode; add some comments explaining why
some special cases are necessary.

llvm-svn: 72511
2009-05-28 03:56:57 +00:00
Jeffrey Yasskin
c1c46c8efb This patch brings the list of attributes in CPPBackend.cpp up to date with the
list in Attributes.h. It also reorders the CPPBackend list to match so that
it's easier to see that it's complete.

llvm-svn: 72510
2009-05-28 03:16:17 +00:00
Eli Friedman
57e6211262 Some minor cleanups.
llvm-svn: 72509
2009-05-28 03:06:16 +00:00
Bill Wendling
8a8d271d29 "The instructions MMX_PSADBWrm and MMX_PSADBWrr have opcode 0b11100000 (e0), but
the Intel manual (screenshot) says it should be 0b11110110 (f6).  The existing
encoding causes a disassembly conflict with MMX_PAVGBrm, which really should be
0f e0."

Patch by Sean Callanan!

llvm-svn: 72508
2009-05-28 02:04:00 +00:00
Evan Cheng
40810c4d1b Added optimization that narrow load / op / store and the 'op' is a bit twiddling instruction and its second operand is an immediate. If bits that are touched by 'op' can be done with a narrower instruction, reduce the width of the load and store as well. This happens a lot with bitfield manipulation code.
e.g.
orl     $65536, 8(%rax)
=>
orb     $1, 10(%rax)

Since narrowing is not always a win, e.g. i32 -> i16 is a loss on x86, dag combiner consults with the target before performing the optimization.

llvm-svn: 72507
2009-05-28 00:35:15 +00:00
Dan Gohman
2884c5153c Revert 72493 and replace it with a more conservative fix, for now: don't
rewrite the comparison if there is any implicit extension or truncation
on the induction variable. I'm planning for IVUsers to eventually take
over some of the work of this code, and for it to be generalized.

llvm-svn: 72496
2009-05-27 21:10:47 +00:00
Eli Friedman
9a87deee7e Ger rid of some dead code.
llvm-svn: 72494
2009-05-27 20:39:00 +00:00
Dan Gohman
994001e5ef In ChangeCompareStride, when the stride to be reused is truncated to
a smaller type, promoted its offset back up to the type of the new
comparison. This fixes PR4222.

llvm-svn: 72493
2009-05-27 20:00:18 +00:00
Evan Cheng
9fd570a8a1 Fix sfence jit encoding. Patch by Sean Callanan.
llvm-svn: 72488
2009-05-27 18:38:01 +00:00
Bill Wendling
2944bcd25c This looks like it passes now.
llvm-svn: 72485
2009-05-27 17:43:21 +00:00
Bruno Cardoso Lopes
ddcbc31a99 Added support for fround, fextend and FP_TO_SINT
llvm-svn: 72483
2009-05-27 17:23:44 +00:00
Douglas Gregor
4d8d0356d0 Minor fix for CMake build system
llvm-svn: 72480
2009-05-27 16:52:17 +00:00
Oscar Fuentes
72dd52b258 CMake: Set LIBS on llvm-config so we can query the system libraries
used by CMake with --ldflags.

llvm-svn: 72470
2009-05-27 15:49:33 +00:00
Eli Friedman
15bf5ba18b Minor cleanups; add a better explanation for the issue with
BUILD_VECTOR.

llvm-svn: 72469
2009-05-27 12:42:55 +00:00
Eli Friedman
6c08124766 Remove more special cases for opcodes.
llvm-svn: 72468
2009-05-27 12:20:41 +00:00
Eli Friedman
c3c622df8e Remove special cases for more opcodes.
llvm-svn: 72467
2009-05-27 07:58:35 +00:00
Eli Friedman
931b38ecfe Removing more special cases from LegalizeDAG.
llvm-svn: 72465
2009-05-27 07:32:27 +00:00