Chris Lattner
5822d6d579
reapply benjamin's instcombine patch, I don't see anything wrong with it and can't repro any problems with a manual self-host.
...
llvm-svn: 108320
2010-07-14 05:59:13 +00:00
Evan Cheng
7ff31f22a4
Re-enable the test with fix.
...
llvm-svn: 108319
2010-07-14 05:49:23 +00:00
Chris Lattner
b800dea3b6
temporarily disable to test to fix buildbots.
...
llvm-svn: 108310
2010-07-14 02:21:59 +00:00
Chris Lattner
25b9b8f2fc
fix a bug found by a warning I added to clang this morning.
...
llvm-svn: 108309
2010-07-14 01:57:17 +00:00
Evan Cheng
72e40c4e08
Teach ProcessImplicitDefs to transform more COPY instructions into IMPLICIT_DEF (and subsequently eliminate them). This allows machine LICM to hoist IMPLICIT_DEF's. PR7620.
...
llvm-svn: 108304
2010-07-14 01:22:19 +00:00
Bob Wilson
0f581a998c
Add an ARM-specific DAG combining to avoid redundant VDUPLANE nodes.
...
Radar 7373643.
llvm-svn: 108303
2010-07-14 01:22:12 +00:00
Dan Gohman
18711b19c9
Don't propagate debug locations to instructions for materializing
...
constants, since they may not be emited near the other instructions
which get the same line, and this confuses debug info.
llvm-svn: 108302
2010-07-14 01:07:44 +00:00
Bruno Cardoso Lopes
0616a418b6
Add AVX 256-bit compare instructions and a bunch of testcases
...
llvm-svn: 108286
2010-07-13 22:06:38 +00:00
Jakob Stoklund Olesen
9b5d14c0f0
Remove vestigial decl.
...
llvm-svn: 108278
2010-07-13 21:19:08 +00:00
Jakob Stoklund Olesen
04bbd415d6
Print VNInfo flags.
...
llvm-svn: 108277
2010-07-13 21:19:05 +00:00
Bob Wilson
7feb850d36
Use a target-specific VMOVIMM DAG node instead of BUILD_VECTOR to represent
...
NEON VMOV-immediate instructions. This simplifies some things.
llvm-svn: 108275
2010-07-13 21:16:48 +00:00
Bruno Cardoso Lopes
7bc71d2d0a
AVX 256-bit conversion instructions
...
Add the x86 VEX_L form to handle special cases where VEX_L must be set.
llvm-svn: 108274
2010-07-13 21:07:28 +00:00
Evan Cheng
d4c5f36755
Update comment.
...
llvm-svn: 108272
2010-07-13 21:03:14 +00:00
Dale Johannesen
f84a7f2b4f
In inline asm treat indirect 'X' constraint as 'm'.
...
This may not be right in all cases, but it's better
than asserting which it was doing before. PR 7528.
llvm-svn: 108268
2010-07-13 20:17:05 +00:00
Kevin Enderby
c26ac60ca8
Added a check that pusha cannot be encoded in 64-bit mode.
...
llvm-svn: 108265
2010-07-13 20:05:41 +00:00
Jakob Stoklund Olesen
b1bf1bcc9e
Add an assertion to make PR7542 fail consistently.
...
LiveInterval::overlapsFrom dereferences end() if it is called on an empty
interval.
It would be reasonable to just return false - an empty interval doesn't overlap
anything, but I want to know who is doing it first.
llvm-svn: 108264
2010-07-13 19:56:28 +00:00
Dan Gohman
546332a032
Fix the Named Metadata example to make it clear which specific
...
construct is the named metadata.
llvm-svn: 108263
2010-07-13 19:48:13 +00:00
Dan Gohman
c17f8b89de
Add support for empty named metadata too. This isn't particularly
...
useful, but it is nice for consistency.
llvm-svn: 108262
2010-07-13 19:42:44 +00:00
Jakob Stoklund Olesen
3726c5f775
Fix LiveInterval::overlaps so it doesn't claim touching intervals overlap.
...
Also, one binary search is enough.
llvm-svn: 108261
2010-07-13 19:42:20 +00:00
Dan Gohman
2ac1d3a2c9
Add support for empty metadata nodes: !{}.
...
llvm-svn: 108259
2010-07-13 19:33:27 +00:00
Evan Cheng
069f1f7c9a
Extend the r107852 optimization which turns some fp compare to code sequence using only i32 operations. It now optimize some f64 compares when fp compare is exceptionally slow (e.g. cortex-a8). It also catches comparison against 0.0.
...
llvm-svn: 108258
2010-07-13 19:27:42 +00:00
Evan Cheng
67743f2057
Add an ARM "feature". Cortex-a8 fp comparison is very slow (> 20 cycles).
...
llvm-svn: 108256
2010-07-13 19:21:50 +00:00
Greg Clayton
f62e01f795
Patched Makefile.rules to allow objective C and objective C++ compilation.
...
This allows LLDB (llvm/tools/lldb) to build on Mac OS X.
llvm-svn: 108255
2010-07-13 18:47:09 +00:00
Evan Cheng
8cce7c7351
-enable-unsafe-fp-math should not imply -enable-finite-only-fp-math.
...
llvm-svn: 108254
2010-07-13 18:46:14 +00:00
Eric Christopher
f57bd9c94d
Grammar.
...
llvm-svn: 108252
2010-07-13 18:27:13 +00:00
Dale Johannesen
57a48e254e
Fix PR number.
...
llvm-svn: 108251
2010-07-13 18:14:47 +00:00
Chandler Carruth
e3d4a2cbbc
Switch from EXPECT_EQ({true,false, ...) to the more canonical
...
EXPECT_{TRUE,FALSE}(...) macros. This also prevents suprious warnings about
bool-to-pointer conversion that occurs withit EXPECT_EQ.
llvm-svn: 108248
2010-07-13 17:28:05 +00:00
Devang Patel
4fca0435b3
Fix compile unit in example. Thanks Renato Golin!
...
llvm-svn: 108246
2010-07-13 16:53:20 +00:00
Duncan Sands
8864383748
Handle the case of a tail recursion in which the tail call is followed
...
by a return that returns a constant, while elsewhere in the function
another return instruction returns a different constant. This is a
special case of accumulator recursion, so just generalize the existing
logic a bit.
llvm-svn: 108241
2010-07-13 15:41:41 +00:00
Gabor Greif
9772b3e74f
rotate CallInst operands
...
with this commit the callee moves to the end of
the operand array (from the start) and the call
arguments now start at index 0 (formerly 1)
this ordering is now consistent with InvokeInst
this commit only flips the switch,
functionally it is equivalent to
r101465
I intend to commit several cleanups after a few
days of soak period
llvm-svn: 108240
2010-07-13 15:31:36 +00:00
Benjamin Kramer
9af04e360e
HTML cleanup and validation.
...
llvm-svn: 108239
2010-07-13 12:26:09 +00:00
Duncan Sands
710b57b4b1
When doing sext/zext of constants, the target type must be strictly
...
wider than the source type. Correct LangRef.
llvm-svn: 108238
2010-07-13 12:06:14 +00:00
Chris Lattner
2e188667df
use a typedef instead of its expansion, patch by Michael Spencer
...
llvm-svn: 108229
2010-07-13 05:52:36 +00:00
Eric Christopher
bc774d339c
80-columns
...
llvm-svn: 108228
2010-07-13 05:50:08 +00:00
Bob Wilson
8c1f6adf81
Move NEON "modified immediate" encode/decode into ARMAddressingModes.h to
...
avoid replicated code.
llvm-svn: 108227
2010-07-13 04:44:34 +00:00
Chris Lattner
ddb09ea6ad
my work on adding segment registers to LEA missed the
...
disassembler. Remove some code from the disassembler to
compensate, unbreaking disassembly of lea's.
llvm-svn: 108226
2010-07-13 04:23:55 +00:00
Bruno Cardoso Lopes
ae37153b05
Add AVX 256-bit packed logical forms
...
llvm-svn: 108224
2010-07-13 02:38:35 +00:00
Bruno Cardoso Lopes
495ae629bb
Add AVX 256-bit unop arithmetic instructions
...
llvm-svn: 108223
2010-07-13 01:53:31 +00:00
Bruno Cardoso Lopes
185483638b
Since AVX is a superset of all SSE versions, only use HasAVX for AVX instructions
...
llvm-svn: 108222
2010-07-13 00:38:47 +00:00
Stephen Wilson
441f5e46b4
Bring ELF64 on par with ELF32, add a few magic constants and support ".dynamic"
...
section entries.
llvm-svn: 108221
2010-07-13 00:24:59 +00:00
Jakob Stoklund Olesen
dd322a3f4f
Don't add memory operands to storeRegToStackSlot / loadRegFromStackSlot results,
...
they already have one.
This fixes the himenobmtxpa miscompilation on ARM.
The PostRA scheduler got confused by the double memoperand and hoisted a stack
slot load above a store to the same slot.
llvm-svn: 108219
2010-07-13 00:23:30 +00:00
David Greene
d81591ee09
Move some SIMD fragment code into X86InstrFragmentsSIMD so that the
...
utility classes can be used from multiple files. This will aid
transitioning to a new refactored x86 SIMD specification.
llvm-svn: 108213
2010-07-12 23:41:28 +00:00
Bruno Cardoso Lopes
852e3bf472
Add AVX 256 binary arithmetic instructions
...
llvm-svn: 108207
2010-07-12 23:04:15 +00:00
Bruno Cardoso Lopes
b021506033
More refactoring of basic SSE arith instructions. Open room for 256-bit instructions
...
llvm-svn: 108204
2010-07-12 22:41:32 +00:00
Stephen Wilson
274603ba00
Simple format/style fixes.
...
llvm-svn: 108203
2010-07-12 22:36:08 +00:00
Stephen Wilson
eb0039545a
Test commit.
...
llvm-svn: 108197
2010-07-12 21:34:37 +00:00
Daniel Dunbar
6b7349fa24
MC/AsmParser: Move ELF specific parser to ELFAsmParser.cpp.
...
llvm-svn: 108196
2010-07-12 21:23:32 +00:00
Daniel Dunbar
cb36453016
MC/AsmParser: Move Darwin specific parse to DarwinAsmParser.cpp.
...
llvm-svn: 108193
2010-07-12 20:51:51 +00:00
Argyrios Kyrtzidis
b835e6d948
Add convenience method FoldingSetImpl::InsertNode(Node *N) that asserts if the node is already inserted.
...
llvm-svn: 108192
2010-07-12 20:47:08 +00:00
Dan Gohman
e9c4426bb0
Apply the SSE dependence idiom for SSE unary operations to
...
SD instructions too, in addition to SS instructions. And
add a comment about it.
llvm-svn: 108191
2010-07-12 20:46:04 +00:00