62434 Commits

Author SHA1 Message Date
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
Daniel Dunbar
9144ed1e2e MC/AsmParser: Move .section parsing to Darwin specific parser.
llvm-svn: 108190
2010-07-12 20:42:34 +00:00
Daniel Dunbar
a47f3847f0 MC/AsmLexer: Raise LexUntilEndOfStatement to MCAsmLexer.
llvm-svn: 108189
2010-07-12 20:32:33 +00:00
Bill Wendling
8f8b8753db getOrInsertLeaderValue cannot be const because it calls insert.
Patch by Xi Wang!

llvm-svn: 108188
2010-07-12 20:27:02 +00:00
Daniel Dunbar
dea52ae42c MC/AsmParser: Move special section directive parsing to Darwin specific parser.
llvm-svn: 108187
2010-07-12 20:23:36 +00:00
Bob Wilson
33acb6130e 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.

llvm-svn: 108186
2010-07-12 20:22:45 +00:00
Daniel Dunbar
c02b92ed37 MC/AsmParser: Add a basic ELFAsmParser extension.
llvm-svn: 108185
2010-07-12 20:08:04 +00:00
Bruno Cardoso Lopes
a4889e6f93 Add AVX 256-bit MOVMSK forms
llvm-svn: 108184
2010-07-12 20:06:32 +00:00
Daniel Dunbar
f3e14374cb MC/AsmParser: Inline AsmParser::CreateSymbol into callers.
llvm-svn: 108183
2010-07-12 19:52:10 +00:00
Daniel Dunbar
d1c2da9d0b MC/AsmParser: Move .tbss and .zerofill parsing to Darwin specific parser.
llvm-svn: 108180
2010-07-12 19:37:35 +00:00
Daniel Dunbar
a1e5852feb MC/AsmParser: Move .desc parsing to Darwin specific parser.
llvm-svn: 108179
2010-07-12 19:22:53 +00:00
Daniel Dunbar
212b42f5ec MC/AsmParser: Move .lsym parsing to Darwin specific parser.
llvm-svn: 108176
2010-07-12 19:08:25 +00:00
Daniel Dunbar
50b931bbac MC/AsmParser: Move some misc. Darwin directive handling to DarwinAsmParser.
llvm-svn: 108174
2010-07-12 18:49:22 +00:00
Daniel Dunbar
60a43ea0f7 MCAsmParser: Add getSourceManager().
llvm-svn: 108171
2010-07-12 18:35:04 +00:00
Jakob Stoklund Olesen
d8190fe4cd Silence a warning.
llvm-svn: 108169
2010-07-12 18:17:47 +00:00
Dan Gohman
5a42173004 Check begin!=end, rather than !begin.
llvm-svn: 108167
2010-07-12 18:12:35 +00:00
Daniel Dunbar
e3a98e546f 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.

llvm-svn: 108165
2010-07-12 18:12:02 +00:00
Rafael Espindola
4964bf75a4 Fix a typo and fit in 80 columns. Found by Bob Wilson.
llvm-svn: 108164
2010-07-12 18:11:17 +00:00
Daniel Dunbar
56e12eeae9 MC/AsmParser: Switch a bunch of directive parsing to use accessors.
llvm-svn: 108163
2010-07-12 18:03:11 +00:00
Dan Gohman
0af129aa1b Add a lint check for mismatched return types, inspired by PR6944.
llvm-svn: 108162
2010-07-12 18:02:04 +00:00
Daniel Dunbar
98d7990ac2 MCAsmParser: Pull some directive handling out into a helper class, and change
DirectiveMap to be based on MCAsmParserExtension.

llvm-svn: 108161
2010-07-12 17:54:38 +00:00
Daniel Dunbar
f93c614035 MC/AsmParser: Switch some directive parsing to use accessor methods.
llvm-svn: 108160
2010-07-12 17:45:27 +00:00
Daniel Dunbar
ffe3934e57 MC: Add MCAsmParserExtension, a base class for all the target/object specific
classes which want to extend the basic asm parser.

llvm-svn: 108158
2010-07-12 17:27:45 +00:00
Daniel Dunbar
fd54ea1239 MC: Move AsmParser::TokError to MCAsmParser().
llvm-svn: 108155
2010-07-12 17:18:45 +00:00
Daniel Dunbar
2be7d27677 MC: Move getLoc() to MCAsmLexer().
llvm-svn: 108154
2010-07-12 17:10:00 +00:00
Benjamin Kramer
cf8ad46899 Nope, still breaks the release selfhost bots :(
llvm-svn: 108153
2010-07-12 16:38:48 +00:00
Benjamin Kramer
e391789246 Reapply the "or" half of r108136, which seems to be less problematic.
llvm-svn: 108152
2010-07-12 16:15:48 +00:00
Gabor Greif
9f6b0059e4 cache result of operator*
llvm-svn: 108150
2010-07-12 15:48:26 +00:00
Dan Gohman
a383dfd81f Don't fast-isel an x87 comparison opcode, as fast-isel doesn't
support branching on x87 comparisons yet. This fixes PR7624.

llvm-svn: 108149
2010-07-12 15:46:30 +00:00
Benjamin Kramer
98c95e7743 Revert r108141 again, sigh.
llvm-svn: 108148
2010-07-12 14:42:04 +00:00
Gabor Greif
04d1ca9e95 cache result of operator*
llvm-svn: 108147
2010-07-12 14:15:58 +00:00
Gabor Greif
b2b6867582 cache result of operator*
llvm-svn: 108146
2010-07-12 14:15:10 +00:00
Gabor Greif
bf2470e6e9 cache result of operator*
llvm-svn: 108145
2010-07-12 14:14:03 +00:00
Gabor Greif
de1c22125f cache result of operator*
llvm-svn: 108144
2010-07-12 14:13:15 +00:00
Gabor Greif
cf2cac8ef4 cache results of operator*
llvm-svn: 108143
2010-07-12 14:12:11 +00:00
Gabor Greif
8159329bfb cache results of operator*
llvm-svn: 108142
2010-07-12 14:10:24 +00:00
Benjamin Kramer
c4f46375d3 Reapply 108136 with an ugly pasto fixed.
llvm-svn: 108141
2010-07-12 13:44:00 +00:00
Benjamin Kramer
e12b88fafe Move optimization to avoid redundant matching.
llvm-svn: 108140
2010-07-12 13:34:22 +00:00
Benjamin Kramer
d9bf737e62 Revert r108136 until I figure out why it broke selfhost.
llvm-svn: 108139
2010-07-12 12:35:49 +00:00
Gabor Greif
8f93852b68 cache dereferenced iterators
llvm-svn: 108138
2010-07-12 12:03:02 +00:00
Gabor Greif
fc666b2d76 recommit r108131 (hich has been backed out in r108135) with a fix
llvm-svn: 108137
2010-07-12 12:02:10 +00:00