Mike Stump
799bf5855e
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
09f17a8479
Untabification.
...
llvm-svn: 72604
2009-05-30 01:09:53 +00:00
Bill Wendling
c1b9bff66d
Untabify.
...
llvm-svn: 72603
2009-05-30 00:58:37 +00:00
Evan Cheng
9a75111bc6
Untabify.
...
llvm-svn: 72600
2009-05-30 00:48:34 +00:00
Anton Korobeynikov
b6f4538683
Add placeholder for thumb2 stuff
...
llvm-svn: 72593
2009-05-29 23:41:08 +00:00
Bill Wendling
006459ecd4
Enable GVN Load PRE.
...
llvm-svn: 72589
2009-05-29 20:38:16 +00:00
Duncan Sands
15de591890
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
9d809cad50
Fix some typos
...
llvm-svn: 72579
2009-05-29 17:08:57 +00:00
Torok Edwin
0b0ddb21fe
just show the instruction, its not that slow.
...
llvm-svn: 72577
2009-05-29 16:58:36 +00:00
Torok Edwin
6a94624a1b
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
72070282eb
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
04cfdd38a2
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
87b037168e
Default isNarrowingProfitable to false.
...
llvm-svn: 72561
2009-05-29 05:31:40 +00:00
Evan Cheng
8e97b85cde
Remove an accidental commit.
...
llvm-svn: 72560
2009-05-29 05:28:52 +00:00
Evan Cheng
716e688fca
More h-registers tricks: folding zext nodes.
...
llvm-svn: 72558
2009-05-29 01:44:43 +00:00
Evan Cheng
86cdb4b345
Do not try to create a MVT type of width 0.
...
llvm-svn: 72557
2009-05-28 23:52:18 +00:00
Bill Wendling
2e09bd3d34
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
e88a7d518e
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
e4b43e60b3
Add explicit test for PR4280.
...
llvm-svn: 72539
2009-05-28 21:04:35 +00:00
Eli Friedman
e1dc193f35
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
cc3ae1f2ff
Fix MOVMSKPDrr encoding.
...
llvm-svn: 72535
2009-05-28 18:55:28 +00:00
Evan Cheng
60618fe4ac
Fix PSIGND encoding bug. Patch by Sean Callanan.
...
llvm-svn: 72534
2009-05-28 18:48:53 +00:00
Evan Cheng
6673ff08fe
Incorporate patch feedbacks.
...
llvm-svn: 72533
2009-05-28 18:41:02 +00:00
Daniel Dunbar
e6986d8e60
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
ae028d48be
Emit debug info for locals with proper scope.
...
llvm-svn: 72531
2009-05-28 18:24:11 +00:00
Bill Wendling
f193838d2b
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
fc4707a331
Mark the branch insns correctly.
...
llvm-svn: 72529
2009-05-28 17:32:56 +00:00
Sanjiv Gupta
335311c67a
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
1f906448bc
Add a testcase which got fixed by recent legalization work.
...
llvm-svn: 72517
2009-05-28 05:10:20 +00:00
Eli Friedman
9b9df77260
Remove a couple of useless functions.
...
llvm-svn: 72516
2009-05-28 04:49:34 +00:00
Eli Friedman
3aa278394e
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
5806e18ce1
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
206876e2da
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
5df7202d3b
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
97021ae319
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
e1bc3798e6
Some minor cleanups.
...
llvm-svn: 72509
2009-05-28 03:06:16 +00:00
Bill Wendling
0feb0e6071
"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
a9cda8abf2
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
4d1823680d
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
a56159b7e9
Ger rid of some dead code.
...
llvm-svn: 72494
2009-05-27 20:39:00 +00:00
Dan Gohman
f4d85325c0
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
4db1631a43
Fix sfence jit encoding. Patch by Sean Callanan.
...
llvm-svn: 72488
2009-05-27 18:38:01 +00:00
Bill Wendling
0a9ea80013
This looks like it passes now.
...
llvm-svn: 72485
2009-05-27 17:43:21 +00:00
Bruno Cardoso Lopes
a72a505a80
Added support for fround, fextend and FP_TO_SINT
...
llvm-svn: 72483
2009-05-27 17:23:44 +00:00
Douglas Gregor
bbcf90f936
Minor fix for CMake build system
...
llvm-svn: 72480
2009-05-27 16:52:17 +00:00
Oscar Fuentes
10a71da05a
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
ed795153c7
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
2892d82378
Remove more special cases for opcodes.
...
llvm-svn: 72468
2009-05-27 12:20:41 +00:00
Eli Friedman
3b251705fd
Remove special cases for more opcodes.
...
llvm-svn: 72467
2009-05-27 07:58:35 +00:00
Eli Friedman
0e49431422
Removing more special cases from LegalizeDAG.
...
llvm-svn: 72465
2009-05-27 07:32:27 +00:00