Owen Anderson
570a4cdc45
Simplify classes for shift instructions, which are never commutable.
...
llvm-svn: 117398
2010-10-26 21:13:59 +00:00
Owen Anderson
31c1429a2c
Tests for NEON encoding of vshr.
...
llvm-svn: 117396
2010-10-26 21:08:42 +00:00
Owen Anderson
0cecbd810e
Provide correct NEON encodings for vshl, register and immediate forms.
...
llvm-svn: 117394
2010-10-26 20:56:57 +00:00
Jakob Stoklund Olesen
3a4c0c13eb
Teach MachineBasicBlock::print() to annotate instructions and blocks with
...
SlotIndexes when available.
llvm-svn: 117392
2010-10-26 20:21:46 +00:00
Jakob Stoklund Olesen
195132633a
Remmeber to print full live interval on verification error.
...
llvm-svn: 117391
2010-10-26 20:21:43 +00:00
Rafael Espindola
50d3c29c30
Add support for .ident.
...
llvm-svn: 117389
2010-10-26 19:35:47 +00:00
Jim Grosbach
04cd5e5841
Grammar.
...
llvm-svn: 117388
2010-10-26 19:34:41 +00:00
Jim Grosbach
db5b1d93c2
Nuke extraneous comment. It's applicable elsewhere, but not in this func.
...
llvm-svn: 117387
2010-10-26 19:22:23 +00:00
Owen Anderson
ee9f7e6c20
Tests for NEON encoding of vrecpe, vrecps, vrsqrte, and vsqrts.
...
llvm-svn: 117385
2010-10-26 18:43:13 +00:00
Andrew Trick
06fb7ed472
Jakob's review of the basic register allocator.
...
llvm-svn: 117384
2010-10-26 18:34:01 +00:00
Owen Anderson
9e49cae184
Tests for NEON encodings of vpmin and vpmax.
...
llvm-svn: 117382
2010-10-26 18:31:47 +00:00
Owen Anderson
d8e5d26a56
Add correct NEON encoding for vpadal.
...
llvm-svn: 117380
2010-10-26 18:18:03 +00:00
Rafael Espindola
adaf2ea5c6
handle X86::EH_RETURN64 and X86::EH_RETURN.
...
llvm-svn: 117378
2010-10-26 18:09:55 +00:00
Owen Anderson
1940ad62ca
Tests for NEON encoding of vpadd and vpaddl.
...
llvm-svn: 117377
2010-10-26 18:04:51 +00:00
Devang Patel
e544bb3842
s/beginScope/beginInstruction/g
...
s/endScope/endInstruction/g
llvm-svn: 117376
2010-10-26 17:49:02 +00:00
Owen Anderson
b7618a821f
Add NEON encodings for vmov and vmvn of immediates.
...
llvm-svn: 117374
2010-10-26 17:40:54 +00:00
Jakob Stoklund Olesen
de018e2d8e
Don't verify physical registers going into landing pads.
...
Magic is happening that we don't understand.
llvm-svn: 117370
2010-10-26 16:49:23 +00:00
Rafael Espindola
e38790534e
Implement some relaxations for arithmetic instructions. The limitation
...
on RIP relative relocations looks artificial, but this is a superset of
what we were able to do before.
llvm-svn: 117364
2010-10-26 14:09:12 +00:00
Duncan Sands
5e0c84786b
Yet another thing that was forgotten to be added to the release notes...
...
llvm-svn: 117362
2010-10-26 12:43:36 +00:00
Kalle Raiskila
64680cd5b8
Change v64 datalayout in SPU.
...
The SPU ABI does not mention v64, and all examples
in C suggest v128 are treated similarily to arrays,
we use array alignment for v64 too. This makes the
alignment of e.g. [2 x <2 x i32>] behave "intuitively"
and similar to as if the elements were e.g. i32s.
This also makes an "unaligned store" test to be
aligned, with different (but functionally equivalent)
code generated.
llvm-svn: 117360
2010-10-26 10:45:47 +00:00
NAKAMURA Takumi
abee1c5f85
CMake: Build utils/KillTheDoctor only on MSVC for now.
...
Mingw does not have the header <dbghelp.h>.
Thanks to Daniel Newton, testing it on mingw.
llvm-svn: 117352
2010-10-26 05:08:27 +00:00
Evan Cheng
324e678bb7
Use instruction itinerary to determine what instructions are 'cheap'.
...
llvm-svn: 117348
2010-10-26 02:08:50 +00:00
Evan Cheng
59acb7e4cf
NEON vmov's are in Neon domain.
...
llvm-svn: 117347
2010-10-26 02:03:05 +00:00
Nick Lewycky
f7dddd658f
For statistics that are only used in functions declared in !NDEBUG, wrap the
...
declarations in !NDEBUG to avoid -Wunused-variable warnings. Patch by
Matt Beaumont-Gay!
llvm-svn: 117345
2010-10-26 00:51:57 +00:00
Jakob Stoklund Olesen
b0c10ed95a
InlineSpiller can also update LiveStacks.
...
llvm-svn: 117338
2010-10-26 00:11:35 +00:00
Jakob Stoklund Olesen
3988c3fb55
Make the spiller responsible for updating the LiveStacks analysis.
...
llvm-svn: 117337
2010-10-26 00:11:33 +00:00
Bob Wilson
309484bb46
When the "true" and "false" blocks of a diamond if-conversion are the same,
...
do not double-count the duplicate instructions by counting once from the
beginning and again from the end. Keep track of where the duplicates from
the beginning ended and don't go past that point when counting duplicates
at the end. Radar 8589805.
This change causes one of the MC/ARM/simple-fp-encoding tests to produce
different (better!) code without the vmovne instruction being tested.
I changed the test to produce vmovne and vmoveq instructions but moving
between register files in the opposite direction. That's not quite the same
but predicated versions of those instructions weren't being tested before,
so at least the test coverage is not any worse, just different.
llvm-svn: 117333
2010-10-26 00:02:24 +00:00
Bob Wilson
685e143630
Change if-conversion to keep track of the extra cost due to microcoded
...
instructions separately from the count of non-predicated instructions. The
instruction count is used in places to determine how many instructions to
copy, predicate, etc. and things get confused if that count includes the
extra cost for microcoded ops.
llvm-svn: 117332
2010-10-26 00:02:21 +00:00
Bob Wilson
abe62128b5
Tidy up redundant check.
...
llvm-svn: 117331
2010-10-26 00:02:19 +00:00
Evan Cheng
2439e51388
Neuter r117193 as it causes significant post-ra scheduler compile time regression.
...
llvm-svn: 117329
2010-10-25 23:56:21 +00:00
Owen Anderson
67684a0bae
Tests for NEON encoding of vmax.
...
llvm-svn: 117327
2010-10-25 23:45:34 +00:00
Owen Anderson
10a13e5063
Tests for NEON encoding of vmin.
...
llvm-svn: 117326
2010-10-25 23:35:36 +00:00
Rafael Espindola
5fecad6a27
Produce the headers directly in the Finish method. This allows us to use
...
the existing streamer methods that are endian safe.
llvm-svn: 117323
2010-10-25 22:26:55 +00:00
Dale Johannesen
2566d39d07
An stdcall function calling a non-stdcall function
...
cannot use tailcall. PR 8461.
llvm-svn: 117322
2010-10-25 22:17:05 +00:00
Dan Gohman
ef977ab6b6
Support TBAA attachments on calls. This is somewhat experimental.
...
llvm-svn: 117317
2010-10-25 21:38:20 +00:00
Devang Patel
fa145a94d1
Simplify.
...
Do not count use of sdisel for single call instruction.
llvm-svn: 117316
2010-10-25 21:31:46 +00:00
Owen Anderson
e5e0dcd665
Add correct encodings for NEON vabal.
...
llvm-svn: 117315
2010-10-25 21:29:04 +00:00
Dan Gohman
20a3dd4ee1
Fix chaining in TBAA's pointsToConstantMemory.
...
llvm-svn: 117314
2010-10-25 21:24:55 +00:00
Devang Patel
206643ef76
Update SelectBasicBlock signature. This should have been committed with r117310.
...
llvm-svn: 117312
2010-10-25 21:04:12 +00:00
Devang Patel
3779ad5d59
Add counters to count basic blocks and machine basic blocks with out of order line number info.
...
Add counters to count how many basic blocks are entirely selected by fastisel.
llvm-svn: 117310
2010-10-25 20:55:43 +00:00
Owen Anderson
3eff0b86a5
Add correct NEON encodings for vaba.
...
llvm-svn: 117309
2010-10-25 20:52:57 +00:00
Devang Patel
24a6b791b6
Add simple counter to count no. of basic blocks without any line number information. At -O0, these basic block coule cause less than optimial debugging experience.
...
llvm-svn: 117307
2010-10-25 20:45:32 +00:00
Owen Anderson
a45478aef9
Tests for NEON encoding of vabdl.
...
llvm-svn: 117303
2010-10-25 20:36:28 +00:00
Owen Anderson
3e03c142fd
Add tests for NEON encoding of vabd.
...
llvm-svn: 117302
2010-10-25 20:29:27 +00:00
Dan Gohman
cdc30324f1
Only read one bit for testing for a readonly type, leaving the other
...
bits open for future uses.
llvm-svn: 117301
2010-10-25 20:22:29 +00:00
Daniel Dunbar
5cbb066ea3
MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.
...
llvm-svn: 117299
2010-10-25 20:18:56 +00:00
Daniel Dunbar
97fa30f53b
MC/AsmLexer: Fix bug in source location for Slash token.
...
llvm-svn: 117298
2010-10-25 20:18:53 +00:00
Daniel Dunbar
9de1fe630b
tweak test.
...
llvm-svn: 117297
2010-10-25 20:18:49 +00:00
Daniel Dunbar
467507fe11
llvm-mc: Teach -as-lex to print the raw token string as well.
...
llvm-svn: 117296
2010-10-25 20:18:46 +00:00
Daniel Dunbar
4e52e15868
MC/AsmParser: Rewrite test to actually check some parts of expression parsing,
...
now that we have macros and friends. Uncovered a bug in macro expansion...
llvm-svn: 117295
2010-10-25 20:18:41 +00:00