oota-llvm.git
14 years agofix a bug found by a warning I added to clang this morning.
Chris Lattner [Wed, 14 Jul 2010 01:57:17 +0000 (01:57 +0000)]
fix a bug found by a warning I added to clang this morning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108309 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTeach ProcessImplicitDefs to transform more COPY instructions into IMPLICIT_DEF ...
Evan Cheng [Wed, 14 Jul 2010 01:22:19 +0000 (01:22 +0000)]
Teach ProcessImplicitDefs to transform more COPY instructions into IMPLICIT_DEF (and subsequently eliminate them). This allows machine LICM to hoist IMPLICIT_DEF's. PR7620.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108304 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd an ARM-specific DAG combining to avoid redundant VDUPLANE nodes.
Bob Wilson [Wed, 14 Jul 2010 01:22:12 +0000 (01:22 +0000)]
Add an ARM-specific DAG combining to avoid redundant VDUPLANE nodes.
Radar 7373643.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108303 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't propagate debug locations to instructions for materializing
Dan Gohman [Wed, 14 Jul 2010 01:07:44 +0000 (01:07 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108302 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd AVX 256-bit compare instructions and a bunch of testcases
Bruno Cardoso Lopes [Tue, 13 Jul 2010 22:06:38 +0000 (22:06 +0000)]
Add AVX 256-bit compare instructions and a bunch of testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108286 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove vestigial decl.
Jakob Stoklund Olesen [Tue, 13 Jul 2010 21:19:08 +0000 (21:19 +0000)]
Remove vestigial decl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108278 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPrint VNInfo flags.
Jakob Stoklund Olesen [Tue, 13 Jul 2010 21:19:05 +0000 (21:19 +0000)]
Print VNInfo flags.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108277 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse a target-specific VMOVIMM DAG node instead of BUILD_VECTOR to represent
Bob Wilson [Tue, 13 Jul 2010 21:16:48 +0000 (21:16 +0000)]
Use a target-specific VMOVIMM DAG node instead of BUILD_VECTOR to represent
NEON VMOV-immediate instructions.  This simplifies some things.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108275 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAVX 256-bit conversion instructions
Bruno Cardoso Lopes [Tue, 13 Jul 2010 21:07:28 +0000 (21:07 +0000)]
AVX 256-bit conversion instructions
Add the x86 VEX_L form to handle special cases where VEX_L must be set.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108274 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate comment.
Evan Cheng [Tue, 13 Jul 2010 21:03:14 +0000 (21:03 +0000)]
Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108272 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIn inline asm treat indirect 'X' constraint as 'm'.
Dale Johannesen [Tue, 13 Jul 2010 20:17:05 +0000 (20:17 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108268 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded a check that pusha cannot be encoded in 64-bit mode.
Kevin Enderby [Tue, 13 Jul 2010 20:05:41 +0000 (20:05 +0000)]
Added a check that pusha cannot be encoded in 64-bit mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108265 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd an assertion to make PR7542 fail consistently.
Jakob Stoklund Olesen [Tue, 13 Jul 2010 19:56:28 +0000 (19:56 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108264 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix the Named Metadata example to make it clear which specific
Dan Gohman [Tue, 13 Jul 2010 19:48:13 +0000 (19:48 +0000)]
Fix the Named Metadata example to make it clear which specific
construct is the named metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108263 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd support for empty named metadata too. This isn't particularly
Dan Gohman [Tue, 13 Jul 2010 19:42:44 +0000 (19:42 +0000)]
Add support for empty named metadata too. This isn't particularly
useful, but it is nice for consistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108262 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix LiveInterval::overlaps so it doesn't claim touching intervals overlap.
Jakob Stoklund Olesen [Tue, 13 Jul 2010 19:42:20 +0000 (19:42 +0000)]
Fix LiveInterval::overlaps so it doesn't claim touching intervals overlap.
Also, one binary search is enough.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108261 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd support for empty metadata nodes: !{}.
Dan Gohman [Tue, 13 Jul 2010 19:33:27 +0000 (19:33 +0000)]
Add support for empty metadata nodes: !{}.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108259 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExtend the r107852 optimization which turns some fp compare to code sequence using...
Evan Cheng [Tue, 13 Jul 2010 19:27:42 +0000 (19:27 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108258 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd an ARM "feature". Cortex-a8 fp comparison is very slow (> 20 cycles).
Evan Cheng [Tue, 13 Jul 2010 19:21:50 +0000 (19:21 +0000)]
Add an ARM "feature". Cortex-a8 fp comparison is very slow (> 20 cycles).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108256 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPatched Makefile.rules to allow objective C and objective C++ compilation.
Greg Clayton [Tue, 13 Jul 2010 18:47:09 +0000 (18:47 +0000)]
Patched Makefile.rules to allow objective C and objective C++ compilation.
This allows LLDB (llvm/tools/lldb) to build on Mac OS X.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108255 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago-enable-unsafe-fp-math should not imply -enable-finite-only-fp-math.
Evan Cheng [Tue, 13 Jul 2010 18:46:14 +0000 (18:46 +0000)]
-enable-unsafe-fp-math should not imply -enable-finite-only-fp-math.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108254 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoGrammar.
Eric Christopher [Tue, 13 Jul 2010 18:27:13 +0000 (18:27 +0000)]
Grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108252 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix PR number.
Dale Johannesen [Tue, 13 Jul 2010 18:14:47 +0000 (18:14 +0000)]
Fix PR number.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108251 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSwitch from EXPECT_EQ({true,false, ...) to the more canonical
Chandler Carruth [Tue, 13 Jul 2010 17:28:05 +0000 (17:28 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108248 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix compile unit in example. Thanks Renato Golin!
Devang Patel [Tue, 13 Jul 2010 16:53:20 +0000 (16:53 +0000)]
Fix compile unit in example. Thanks Renato Golin!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108246 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHandle the case of a tail recursion in which the tail call is followed
Duncan Sands [Tue, 13 Jul 2010 15:41:41 +0000 (15:41 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108241 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorotate CallInst operands
Gabor Greif [Tue, 13 Jul 2010 15:31:36 +0000 (15:31 +0000)]
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108240 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHTML cleanup and validation.
Benjamin Kramer [Tue, 13 Jul 2010 12:26:09 +0000 (12:26 +0000)]
HTML cleanup and validation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108239 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWhen doing sext/zext of constants, the target type must be strictly
Duncan Sands [Tue, 13 Jul 2010 12:06:14 +0000 (12:06 +0000)]
When doing sext/zext of constants, the target type must be strictly
wider than the source type.  Correct LangRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108238 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agouse a typedef instead of its expansion, patch by Michael Spencer
Chris Lattner [Tue, 13 Jul 2010 05:52:36 +0000 (05:52 +0000)]
use a typedef instead of its expansion, patch by Michael Spencer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108229 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago80-columns
Eric Christopher [Tue, 13 Jul 2010 05:50:08 +0000 (05:50 +0000)]
80-columns

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108228 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove NEON "modified immediate" encode/decode into ARMAddressingModes.h to
Bob Wilson [Tue, 13 Jul 2010 04:44:34 +0000 (04:44 +0000)]
Move NEON "modified immediate" encode/decode into ARMAddressingModes.h to
avoid replicated code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108227 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomy work on adding segment registers to LEA missed the
Chris Lattner [Tue, 13 Jul 2010 04:23:55 +0000 (04:23 +0000)]
my work on adding segment registers to LEA missed the
disassembler.  Remove some code from the disassembler to
compensate, unbreaking disassembly of lea's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108226 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd AVX 256-bit packed logical forms
Bruno Cardoso Lopes [Tue, 13 Jul 2010 02:38:35 +0000 (02:38 +0000)]
Add AVX 256-bit packed logical forms

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108224 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd AVX 256-bit unop arithmetic instructions
Bruno Cardoso Lopes [Tue, 13 Jul 2010 01:53:31 +0000 (01:53 +0000)]
Add AVX 256-bit unop arithmetic instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108223 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSince AVX is a superset of all SSE versions, only use HasAVX for AVX instructions
Bruno Cardoso Lopes [Tue, 13 Jul 2010 00:38:47 +0000 (00:38 +0000)]
Since AVX is a superset of all SSE versions, only use HasAVX for AVX instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108222 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoBring ELF64 on par with ELF32, add a few magic constants and support ".dynamic"
Stephen Wilson [Tue, 13 Jul 2010 00:24:59 +0000 (00:24 +0000)]
Bring ELF64 on par with ELF32, add a few magic constants and support ".dynamic"
section entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108221 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't add memory operands to storeRegToStackSlot / loadRegFromStackSlot results,
Jakob Stoklund Olesen [Tue, 13 Jul 2010 00:23:30 +0000 (00:23 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108219 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove some SIMD fragment code into X86InstrFragmentsSIMD so that the
David Greene [Mon, 12 Jul 2010 23:41:28 +0000 (23:41 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108213 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd AVX 256 binary arithmetic instructions
Bruno Cardoso Lopes [Mon, 12 Jul 2010 23:04:15 +0000 (23:04 +0000)]
Add AVX 256 binary arithmetic instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108207 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore refactoring of basic SSE arith instructions. Open room for 256-bit instructions
Bruno Cardoso Lopes [Mon, 12 Jul 2010 22:41:32 +0000 (22:41 +0000)]
More refactoring of basic SSE arith instructions. Open room for 256-bit instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108204 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSimple format/style fixes.
Stephen Wilson [Mon, 12 Jul 2010 22:36:08 +0000 (22:36 +0000)]
Simple format/style fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108203 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTest commit.
Stephen Wilson [Mon, 12 Jul 2010 21:34:37 +0000 (21:34 +0000)]
Test commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108197 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Move ELF specific parser to ELFAsmParser.cpp.
Daniel Dunbar [Mon, 12 Jul 2010 21:23:32 +0000 (21:23 +0000)]
MC/AsmParser: Move ELF specific parser to ELFAsmParser.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108196 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Move Darwin specific parse to DarwinAsmParser.cpp.
Daniel Dunbar [Mon, 12 Jul 2010 20:51:51 +0000 (20:51 +0000)]
MC/AsmParser: Move Darwin specific parse to DarwinAsmParser.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108193 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd convenience method FoldingSetImpl::InsertNode(Node *N) that asserts if the node...
Argyrios Kyrtzidis [Mon, 12 Jul 2010 20:47:08 +0000 (20:47 +0000)]
Add convenience method FoldingSetImpl::InsertNode(Node *N) that asserts if the node is already inserted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108192 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoApply the SSE dependence idiom for SSE unary operations to
Dan Gohman [Mon, 12 Jul 2010 20:46:04 +0000 (20:46 +0000)]
Apply the SSE dependence idiom for SSE unary operations to
SD instructions too, in addition to SS instructions. And
add a comment about it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108191 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Move .section parsing to Darwin specific parser.
Daniel Dunbar [Mon, 12 Jul 2010 20:42:34 +0000 (20:42 +0000)]
MC/AsmParser: Move .section parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108190 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmLexer: Raise LexUntilEndOfStatement to MCAsmLexer.
Daniel Dunbar [Mon, 12 Jul 2010 20:32:33 +0000 (20:32 +0000)]
MC/AsmLexer: Raise LexUntilEndOfStatement to MCAsmLexer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108189 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agogetOrInsertLeaderValue cannot be const because it calls insert.
Bill Wendling [Mon, 12 Jul 2010 20:27:02 +0000 (20:27 +0000)]
getOrInsertLeaderValue cannot be const because it calls insert.
Patch by Xi Wang!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108188 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Move special section directive parsing to Darwin specific parser.
Daniel Dunbar [Mon, 12 Jul 2010 20:23:36 +0000 (20:23 +0000)]
MC/AsmParser: Move special section directive parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108187 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove some code that doesn't appear to do anything. All the ARM call
Bob Wilson [Mon, 12 Jul 2010 20:22:45 +0000 (20:22 +0000)]
Remove some code that doesn't appear to do anything.  All the ARM call
instructions already have implicit defs of LR.  The comment suggests that
this is intended to fix something like pr6111, but it doesn't really do
that either.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108186 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Add a basic ELFAsmParser extension.
Daniel Dunbar [Mon, 12 Jul 2010 20:08:04 +0000 (20:08 +0000)]
MC/AsmParser: Add a basic ELFAsmParser extension.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108185 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd AVX 256-bit MOVMSK forms
Bruno Cardoso Lopes [Mon, 12 Jul 2010 20:06:32 +0000 (20:06 +0000)]
Add AVX 256-bit MOVMSK forms

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108184 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Inline AsmParser::CreateSymbol into callers.
Daniel Dunbar [Mon, 12 Jul 2010 19:52:10 +0000 (19:52 +0000)]
MC/AsmParser: Inline AsmParser::CreateSymbol into callers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108183 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Move .tbss and .zerofill parsing to Darwin specific parser.
Daniel Dunbar [Mon, 12 Jul 2010 19:37:35 +0000 (19:37 +0000)]
MC/AsmParser: Move .tbss and .zerofill parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108180 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Move .desc parsing to Darwin specific parser.
Daniel Dunbar [Mon, 12 Jul 2010 19:22:53 +0000 (19:22 +0000)]
MC/AsmParser: Move .desc parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108179 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Move .lsym parsing to Darwin specific parser.
Daniel Dunbar [Mon, 12 Jul 2010 19:08:25 +0000 (19:08 +0000)]
MC/AsmParser: Move .lsym parsing to Darwin specific parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108176 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Move some misc. Darwin directive handling to DarwinAsmParser.
Daniel Dunbar [Mon, 12 Jul 2010 18:49:22 +0000 (18:49 +0000)]
MC/AsmParser: Move some misc. Darwin directive handling to DarwinAsmParser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108174 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMCAsmParser: Add getSourceManager().
Daniel Dunbar [Mon, 12 Jul 2010 18:35:04 +0000 (18:35 +0000)]
MCAsmParser: Add getSourceManager().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108171 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSilence a warning.
Jakob Stoklund Olesen [Mon, 12 Jul 2010 18:17:47 +0000 (18:17 +0000)]
Silence a warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108169 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCheck begin!=end, rather than !begin.
Dan Gohman [Mon, 12 Jul 2010 18:12:35 +0000 (18:12 +0000)]
Check begin!=end, rather than !begin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108167 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Add a DarwinAsmParser extension.
Daniel Dunbar [Mon, 12 Jul 2010 18:12:02 +0000 (18:12 +0000)]
MC/AsmParser: Add a DarwinAsmParser extension.
 - Currently initialization is a bit of a hack, but harmless. We need to rework
   various parts of target initialization to clean this up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108165 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a typo and fit in 80 columns. Found by Bob Wilson.
Rafael Espindola [Mon, 12 Jul 2010 18:11:17 +0000 (18:11 +0000)]
Fix a typo and fit in 80 columns. Found by Bob Wilson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108164 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Switch a bunch of directive parsing to use accessors.
Daniel Dunbar [Mon, 12 Jul 2010 18:03:11 +0000 (18:03 +0000)]
MC/AsmParser: Switch a bunch of directive parsing to use accessors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108163 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a lint check for mismatched return types, inspired by PR6944.
Dan Gohman [Mon, 12 Jul 2010 18:02:04 +0000 (18:02 +0000)]
Add a lint check for mismatched return types, inspired by PR6944.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108162 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMCAsmParser: Pull some directive handling out into a helper class, and change
Daniel Dunbar [Mon, 12 Jul 2010 17:54:38 +0000 (17:54 +0000)]
MCAsmParser: Pull some directive handling out into a helper class, and change
DirectiveMap to be based on MCAsmParserExtension.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108161 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/AsmParser: Switch some directive parsing to use accessor methods.
Daniel Dunbar [Mon, 12 Jul 2010 17:45:27 +0000 (17:45 +0000)]
MC/AsmParser: Switch some directive parsing to use accessor methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108160 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC: Add MCAsmParserExtension, a base class for all the target/object specific
Daniel Dunbar [Mon, 12 Jul 2010 17:27:45 +0000 (17:27 +0000)]
MC: Add MCAsmParserExtension, a base class for all the target/object specific
classes which want to extend the basic asm parser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108158 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC: Move AsmParser::TokError to MCAsmParser().
Daniel Dunbar [Mon, 12 Jul 2010 17:18:45 +0000 (17:18 +0000)]
MC: Move AsmParser::TokError to MCAsmParser().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108155 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC: Move getLoc() to MCAsmLexer().
Daniel Dunbar [Mon, 12 Jul 2010 17:10:00 +0000 (17:10 +0000)]
MC: Move getLoc() to MCAsmLexer().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108154 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoNope, still breaks the release selfhost bots :(
Benjamin Kramer [Mon, 12 Jul 2010 16:38:48 +0000 (16:38 +0000)]
Nope, still breaks the release selfhost bots :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108153 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReapply the "or" half of r108136, which seems to be less problematic.
Benjamin Kramer [Mon, 12 Jul 2010 16:15:48 +0000 (16:15 +0000)]
Reapply the "or" half of r108136, which seems to be less problematic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108152 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache result of operator*
Gabor Greif [Mon, 12 Jul 2010 15:48:26 +0000 (15:48 +0000)]
cache result of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108150 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't fast-isel an x87 comparison opcode, as fast-isel doesn't
Dan Gohman [Mon, 12 Jul 2010 15:46:30 +0000 (15:46 +0000)]
Don't fast-isel an x87 comparison opcode, as fast-isel doesn't
support branching on x87 comparisons yet. This fixes PR7624.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108149 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r108141 again, sigh.
Benjamin Kramer [Mon, 12 Jul 2010 14:42:04 +0000 (14:42 +0000)]
Revert r108141 again, sigh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108148 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache result of operator*
Gabor Greif [Mon, 12 Jul 2010 14:15:58 +0000 (14:15 +0000)]
cache result of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108147 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache result of operator*
Gabor Greif [Mon, 12 Jul 2010 14:15:10 +0000 (14:15 +0000)]
cache result of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108146 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache result of operator*
Gabor Greif [Mon, 12 Jul 2010 14:14:03 +0000 (14:14 +0000)]
cache result of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108145 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache result of operator*
Gabor Greif [Mon, 12 Jul 2010 14:13:15 +0000 (14:13 +0000)]
cache result of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108144 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache results of operator*
Gabor Greif [Mon, 12 Jul 2010 14:12:11 +0000 (14:12 +0000)]
cache results of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108143 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache results of operator*
Gabor Greif [Mon, 12 Jul 2010 14:10:24 +0000 (14:10 +0000)]
cache results of operator*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108142 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReapply 108136 with an ugly pasto fixed.
Benjamin Kramer [Mon, 12 Jul 2010 13:44:00 +0000 (13:44 +0000)]
Reapply 108136 with an ugly pasto fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108141 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove optimization to avoid redundant matching.
Benjamin Kramer [Mon, 12 Jul 2010 13:34:22 +0000 (13:34 +0000)]
Move optimization to avoid redundant matching.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108140 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r108136 until I figure out why it broke selfhost.
Benjamin Kramer [Mon, 12 Jul 2010 12:35:49 +0000 (12:35 +0000)]
Revert r108136 until I figure out why it broke selfhost.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108139 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache dereferenced iterators
Gabor Greif [Mon, 12 Jul 2010 12:03:02 +0000 (12:03 +0000)]
cache dereferenced iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108138 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorecommit r108131 (hich has been backed out in r108135) with a fix
Gabor Greif [Mon, 12 Jul 2010 12:02:10 +0000 (12:02 +0000)]
recommit r108131 (hich has been backed out in r108135) with a fix

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108137 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoinstcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & x) ^...
Benjamin Kramer [Mon, 12 Jul 2010 11:54:45 +0000 (11:54 +0000)]
instcombine: fold (x & y) | (~x & z) and (x & y) ^ (~x & z) into ((y ^ z) & x) ^ z which is one instruction shorter. (PR6773)

before:
  %and = and i32 %y, %x
  %neg = xor i32 %x, -1
  %and4 = and i32 %z, %neg
  %xor = xor i32 %and4, %and

after:
  %xor1 = xor i32 %z, %y
  %and2 = and i32 %xor1, %x
  %xor = xor i32 %and2, %z

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108136 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoback out r108131 (of TailDuplication.cpp) for now, it causes a buildbot failure
Gabor Greif [Mon, 12 Jul 2010 11:32:39 +0000 (11:32 +0000)]
back out r108131 (of TailDuplication.cpp) for now, it causes a buildbot failure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108135 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache dereferenced iterators
Gabor Greif [Mon, 12 Jul 2010 11:19:24 +0000 (11:19 +0000)]
cache dereferenced iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108134 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache dereferenced iterators
Gabor Greif [Mon, 12 Jul 2010 10:59:23 +0000 (10:59 +0000)]
cache dereferenced iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108133 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache dereferenced iterators
Gabor Greif [Mon, 12 Jul 2010 10:49:54 +0000 (10:49 +0000)]
cache dereferenced iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108132 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocache dereferenced iterators
Gabor Greif [Mon, 12 Jul 2010 10:36:48 +0000 (10:36 +0000)]
cache dereferenced iterators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108131 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConvert some tab stops into spaces.
Duncan Sands [Mon, 12 Jul 2010 08:16:59 +0000 (08:16 +0000)]
Convert some tab stops into spaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108130 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd parentheses around an || to correct the logic. Also silences a GCC warning
Chandler Carruth [Mon, 12 Jul 2010 06:47:05 +0000 (06:47 +0000)]
Add parentheses around an || to correct the logic. Also silences a GCC warning
that was actually useful here.

Chris, please double check that this is the correct interpretation. I was
pretty sure, and ran it by Nick as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108129 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove tab characters and 80-col.
Eric Christopher [Mon, 12 Jul 2010 05:26:37 +0000 (05:26 +0000)]
Remove tab characters and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108127 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago80 columns.
Eric Christopher [Mon, 12 Jul 2010 05:13:35 +0000 (05:13 +0000)]
80 columns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108126 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPath::isRootDirectory is unimplemented on Unix and not used,
Chris Lattner [Mon, 12 Jul 2010 04:39:07 +0000 (04:39 +0000)]
Path::isRootDirectory is unimplemented on Unix and not used,
remove it, fixing PR6909.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108125 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConvert getLoadStoreRegOpcode to use a switch.
Rafael Espindola [Mon, 12 Jul 2010 03:43:04 +0000 (03:43 +0000)]
Convert getLoadStoreRegOpcode to use a switch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108123 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConvert the last use of getPhysicalRegisterRegClass and remove it.
Rafael Espindola [Mon, 12 Jul 2010 02:55:34 +0000 (02:55 +0000)]
Convert the last use of getPhysicalRegisterRegClass and remove it.

AggressiveAntiDepBreaker should not be using getPhysicalRegisterRegClass. An
instruction might be using a register that can only be replaced with one from
a subclass of getPhysicalRegisterRegClass.

With this patch we use getMinimalPhysRegClass. This is correct, but
conservative. We should check the uses of the register and select the
largest register class that can be used in all of them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108122 91177308-0d34-0410-b5e6-96231b3b80d8