Eli Friedman
41b33f437f
PR4286: Make RewriteLoadUserOfWholeAlloca and
...
RewriteStoreUserOfWholeAlloca deal with tail padding because
isSafeUseOfBitCastedAllocation expects them to. Otherwise, we crash
trying to erase the bitcast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-01 09:14:32 +00:00
Nick Lewycky
3728a02534
Update the bitcode reader to support reading .bc files where the embedded
...
metadata references non-Constant values such as instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-01 04:42:10 +00:00
Nick Lewycky
079c034489
Add missing codenames to the .bc analyzer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-01 04:41:03 +00:00
Dan Gohman
2d98f0664b
Fix a grammaro and clarify a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72668 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31 17:52:18 +00:00
Dan Gohman
18a69c5a36
Delete an obsolete sentance from a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72667 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31 16:18:57 +00:00
Dan Gohman
55b42513e1
Fix the name of the function in this comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72666 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31 16:18:03 +00:00
Owen Anderson
88554df4a2
Be more aggressive in doing LoadPRE by tracing backwards when a block only has
...
a single predecessor.
Patch by Jakub Staszak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72661 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31 09:03:40 +00:00
Nick Lewycky
88b7293f49
Fix typo in error message.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72659 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31 06:07:28 +00:00
Duncan Sands
f43071bedd
Rename CustomLowerResults to CustomLowerNode, since
...
it is used both when a result is illegal and when an
operand is illegal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72658 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31 04:15:38 +00:00
Bruno Cardoso Lopes
af90a1cd26
Use uint8_t and int32_t in {JIT,Machine}CodeEmiters
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72650 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 23:50:33 +00:00
Bruno Cardoso Lopes
cc5fc60468
Add AMD64 elf machine type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 21:05:47 +00:00
Bruno Cardoso Lopes
a3f99f9033
First patch in the direction of splitting MachineCodeEmitter in two subclasses:
...
JITCodeEmitter and ObjectCodeEmitter. No functional changes yet. Patch by Aaron Gray
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 20:51:52 +00:00
Chris Lattner
0e98e4d299
fix PR4284, a bug in simplifylibcalls handling memcmp. Patch by
...
Benjamin Kramer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72625 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 18:43:04 +00:00
Nick Lewycky
1e8c7a687d
Metadata uses metadata type not empty struct.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72623 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 16:08:30 +00:00
Mike Stump
7d36d39e63
Add some documentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72622 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 15:19:29 +00:00
Duncan Sands
46c403d815
Adjust these tests now that "extern inline"
...
functions are being output with bodies and
available_externally linkage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72620 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 13:57:05 +00:00
Evan Cheng
cf7895ff8b
(i64 (zext (srl GR32 8))) -> movzbl AH is not safe since srl 8 only clear the top 8 bits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72618 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 08:43:27 +00:00
Nick Lewycky
7a0370f66a
Give embedded metadata its own type instead of relying on EmptyStructTy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 05:06:04 +00:00
Mike Stump
c5ca713b80
Add support for letting the client choose different flavors of NaNs. Testcase to be
...
added in clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72606 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 03:49:43 +00:00
Bill Wendling
51b16f4737
Untabification.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72604 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 01:09:53 +00:00
Bill Wendling
4d4eab219a
Untabify.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72603 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 00:58:37 +00:00
Evan Cheng
63d6f324ca
Untabify.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72600 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30 00:48:34 +00:00
Anton Korobeynikov
d4022c3fbb
Add placeholder for thumb2 stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72593 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 23:41:08 +00:00
Bill Wendling
3c04296b83
Enable GVN Load PRE.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72589 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 20:38:16 +00:00
Duncan Sands
44008257a4
Dan noticed that the verifier wasn't thoroughly checking uses of
...
invoke results (see the testcases). Tighten up the checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72586 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 19:39:36 +00:00
Bruno Cardoso Lopes
d80ddc0b64
Fix some typos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72579 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 17:08:57 +00:00
Torok Edwin
70ac142560
just show the instruction, its not that slow.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72577 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 16:58:36 +00:00
Torok Edwin
7e55a00d06
for instructions with void type we have no choice but print the instruction as
...
is, otherwise we get a <badref>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72567 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 10:28:44 +00:00
Torok Edwin
3f3c6d4e5b
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72565 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 09:46:03 +00:00
Owen Anderson
246ddf55d1
Fix an issue where phiMap was not being updated properly when doing load PRE.
...
Diagnosis and patch thanks to Jakub Staszak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72562 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 05:37:54 +00:00
Evan Cheng
abdbc57abb
Default isNarrowingProfitable to false.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72561 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 05:31:40 +00:00
Evan Cheng
8e610a7784
Remove an accidental commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72560 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 05:28:52 +00:00
Evan Cheng
cb219f0ef6
More h-registers tricks: folding zext nodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72558 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29 01:44:43 +00:00
Evan Cheng
d3c76bb6fc
Do not try to create a MVT type of width 0.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72557 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 23:52:18 +00:00
Bill Wendling
2265ba0717
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72556 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 23:40:46 +00:00
Daniel Dunbar
056dbd0645
NewNightlyTest.pl: Add a -parallel-jobs argument (set # of jobs for make with
...
-parallel, instead of always using 2).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 22:45:24 +00:00
Eli Friedman
f1f7c09390
Add explicit test for PR4280.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72539 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 21:04:35 +00:00
Eli Friedman
bbdd903c52
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72536 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 20:40:34 +00:00
Evan Cheng
8a0b2daac2
Fix MOVMSKPDrr encoding.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72535 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 18:55:28 +00:00
Evan Cheng
ed7f56b555
Fix PSIGND encoding bug. Patch by Sean Callanan.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72534 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 18:48:53 +00:00
Evan Cheng
cdcecc03ce
Incorporate patch feedbacks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72533 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 18:41:02 +00:00
Daniel Dunbar
94a37a41eb
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72532 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 18:31:40 +00:00
Sanjiv Gupta
dd4694b519
Emit debug info for locals with proper scope.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72531 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 18:24:11 +00:00
Bill Wendling
43b41273f3
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72530 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 18:18:59 +00:00
Sanjiv Gupta
a455942895
Mark the branch insns correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72529 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 17:32:56 +00:00
Sanjiv Gupta
df75a27609
Fixing problems that got exposed after the refactoring of LegalizeDAG done in 72447.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72521 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 06:59:57 +00:00
Eli Friedman
b999a7056e
Add a testcase which got fixed by recent legalization work.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72517 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 05:10:20 +00:00
Eli Friedman
e727d7a084
Remove a couple of useless functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 04:49:34 +00:00
Eli Friedman
1c39965342
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72514 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 04:39:57 +00:00
Eli Friedman
c06441e5ea
Return the operand rather than a null SDValue when the given SELECT_CC
...
is actually legal. Part of LegalizeDAG cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72513 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-28 04:31:08 +00:00