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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Eric Christopher [Mon, 12 Jul 2010 02:32:44 +0000 (02:32 +0000)]
Fix up the ocaml kaleidoscope example as well.
Note that the example currently doesn't appear to work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108121
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 12 Jul 2010 02:12:47 +0000 (02:12 +0000)]
A basic block that only uses RFP registers still needs the FP_REG_KILL marker.
This fixes PR7375.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108120
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 12 Jul 2010 01:45:38 +0000 (01:45 +0000)]
Don't use getPhysicalRegisterRegClass in PBQP. The existing checks that the
physical register can be allocated in the class of the virtual are sufficient.
I think that the test for virtual registers is more strict than it needs to be,
it should be possible to coalesce two virtual registers the class of one
is a subclass of the other.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108118
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Jul 2010 01:19:22 +0000 (01:19 +0000)]
fix PR7311 by avoiding breaking casts when a bitcast from scalar->vector
is involved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108117
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Jul 2010 00:57:28 +0000 (00:57 +0000)]
make the prototypes for CreateMalloc and CreateFree more consistent. Patch
by Hans Vandierendonck from PR7605
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108116
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 12 Jul 2010 00:52:33 +0000 (00:52 +0000)]
Convert the last getPhysicalRegisterRegClass in VirtRegRewriter.cpp to
getMinimalPhysRegClass. It was used to produce spills, and it is better to
use the most specific class if possible.
Update getLoadStoreRegOpcode to handle GR32_AD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108115
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Jul 2010 00:47:34 +0000 (00:47 +0000)]
if jump threading is able to infer interesting values on both
the LHS and RHS of an and/or instruction, don't multiply add
known predecessor values. This fixes the crash on testcase
from PR7498
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108114
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Jul 2010 00:22:51 +0000 (00:22 +0000)]
fix PR7429, a crash turning a load from a string into a float.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108113
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Jul 2010 00:21:10 +0000 (00:21 +0000)]
convert to filechecconvert to filecheckk
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108112
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Jul 2010 00:19:47 +0000 (00:19 +0000)]
merge two tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108111
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Jul 2010 00:09:55 +0000 (00:09 +0000)]
improve Path::makeUnique when mkstemp/mktemp are not available
patch by Lasse Kärkkäinen in PR7404.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108110
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Jul 2010 00:00:35 +0000 (00:00 +0000)]
change machinelicm to use MachineInstr::isSafeToMove. No
intended functionality change.
The avoidance of hoistiing implicitdef seems wrong though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108109
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Jul 2010 23:07:28 +0000 (23:07 +0000)]
first part of JIT support for address of labels, part of PR7264,
patch by Yuri!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108107
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Jul 2010 22:07:02 +0000 (22:07 +0000)]
introduce WinCOFFObjectWriter, patch by Michael Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108103
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 11 Jul 2010 22:05:00 +0000 (22:05 +0000)]
introduce WinCOFFStreamer.cpp, patch by Michael Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108102
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 11 Jul 2010 20:36:29 +0000 (20:36 +0000)]
If it's safe to speculatively execute load(alloca) the it's safe to execute
load(gep(alloca)) where the gep is all-zeros. There's more we could do here but
this is a common case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108101
91177308-0d34-0410-b5e6-
96231b3b80d8