Dan Gohman
76f405a65f
Fix the name of the function in this comment.
...
llvm-svn: 72666
2009-05-31 16:18:03 +00:00
Owen Anderson
928040c625
Be more aggressive in doing LoadPRE by tracing backwards when a block only has
...
a single predecessor.
Patch by Jakub Staszak.
llvm-svn: 72661
2009-05-31 09:03:40 +00:00
Nick Lewycky
d26b226f47
Fix typo in error message.
...
llvm-svn: 72659
2009-05-31 06:07:28 +00:00
Duncan Sands
222fbd50d9
Rename CustomLowerResults to CustomLowerNode, since
...
it is used both when a result is illegal and when an
operand is illegal.
llvm-svn: 72658
2009-05-31 04:15:38 +00:00
Bruno Cardoso Lopes
aba334e40e
Use uint8_t and int32_t in {JIT,Machine}CodeEmiters
...
llvm-svn: 72650
2009-05-30 23:50:33 +00:00
Bruno Cardoso Lopes
d9c92b3825
Add AMD64 elf machine type
...
llvm-svn: 72635
2009-05-30 21:05:47 +00:00
Bruno Cardoso Lopes
4da7e7af43
First patch in the direction of splitting MachineCodeEmitter in two subclasses:
...
JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray
llvm-svn: 72631
2009-05-30 20:51:52 +00:00
Chris Lattner
8ac63163fe
fix PR4284, a bug in simplifylibcalls handling memcmp. Patch by
...
Benjamin Kramer!
llvm-svn: 72625
2009-05-30 18:43:04 +00:00
Nick Lewycky
b7afbf8a63
Metadata uses metadata type not empty struct.
...
llvm-svn: 72623
2009-05-30 16:08:30 +00:00
Mike Stump
72e70811c8
Add some documentation.
...
llvm-svn: 72622
2009-05-30 15:19:29 +00:00
Duncan Sands
3d77d1fcfc
Adjust these tests now that "extern inline"
...
functions are being output with bodies and
available_externally linkage.
llvm-svn: 72620
2009-05-30 13:57:05 +00:00
Evan Cheng
2d198e1bc2
(i64 (zext (srl GR32 8))) -> movzbl AH is not safe since srl 8 only clear the top 8 bits.
...
llvm-svn: 72618
2009-05-30 08:43:27 +00:00
Nick Lewycky
a9de2f1c81
Give embedded metadata its own type instead of relying on EmptyStructTy.
...
llvm-svn: 72610
2009-05-30 05:06:04 +00:00
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