Kalle Raiskila
a49d062234
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
4bb599cf7d
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
e96b8d7ab6
Use instruction itinerary to determine what instructions are 'cheap'.
...
llvm-svn: 117348
2010-10-26 02:08:50 +00:00
Evan Cheng
b45591979b
NEON vmov's are in Neon domain.
...
llvm-svn: 117347
2010-10-26 02:03:05 +00:00
Nick Lewycky
90b2ac2696
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
e2c340c8d0
InlineSpiller can also update LiveStacks.
...
llvm-svn: 117338
2010-10-26 00:11:35 +00:00
Jakob Stoklund Olesen
7cdc1e5f16
Make the spiller responsible for updating the LiveStacks analysis.
...
llvm-svn: 117337
2010-10-26 00:11:33 +00:00
Bob Wilson
e1961fe289
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
efd360c535
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
59f7cdaf98
Tidy up redundant check.
...
llvm-svn: 117331
2010-10-26 00:02:19 +00:00
Evan Cheng
43d6f34e9f
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
c0f777afbf
Tests for NEON encoding of vmax.
...
llvm-svn: 117327
2010-10-25 23:45:34 +00:00
Owen Anderson
144c3f8c6a
Tests for NEON encoding of vmin.
...
llvm-svn: 117326
2010-10-25 23:35:36 +00:00
Rafael Espindola
d9d0c348df
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
ec57ac1c3c
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
c6096263e2
Support TBAA attachments on calls. This is somewhat experimental.
...
llvm-svn: 117317
2010-10-25 21:38:20 +00:00
Devang Patel
43c3f4b63c
Simplify.
...
Do not count use of sdisel for single call instruction.
llvm-svn: 117316
2010-10-25 21:31:46 +00:00
Owen Anderson
1f6aad053d
Add correct encodings for NEON vabal.
...
llvm-svn: 117315
2010-10-25 21:29:04 +00:00
Dan Gohman
82b2e0da9c
Fix chaining in TBAA's pointsToConstantMemory.
...
llvm-svn: 117314
2010-10-25 21:24:55 +00:00
Devang Patel
e76a16e1fc
Update SelectBasicBlock signature. This should have been committed with r117310.
...
llvm-svn: 117312
2010-10-25 21:04:12 +00:00
Devang Patel
3bc6d198fb
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
b9c91679aa
Add correct NEON encodings for vaba.
...
llvm-svn: 117309
2010-10-25 20:52:57 +00:00
Devang Patel
a86114b961
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
12214ddaa3
Tests for NEON encoding of vabdl.
...
llvm-svn: 117303
2010-10-25 20:36:28 +00:00
Owen Anderson
64aa05f865
Add tests for NEON encoding of vabd.
...
llvm-svn: 117302
2010-10-25 20:29:27 +00:00
Dan Gohman
e6715d0755
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
b3a48f3459
MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.
...
llvm-svn: 117299
2010-10-25 20:18:56 +00:00
Daniel Dunbar
7484d2cbec
MC/AsmLexer: Fix bug in source location for Slash token.
...
llvm-svn: 117298
2010-10-25 20:18:53 +00:00
Daniel Dunbar
95db1cc022
tweak test.
...
llvm-svn: 117297
2010-10-25 20:18:49 +00:00
Daniel Dunbar
1601f55615
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
0c193ca626
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
Owen Anderson
dd001b89d7
Attempt to provide correct encodings for NEON vbit and vbif, even though we can't test them at the moment.
...
llvm-svn: 117294
2010-10-25 20:17:22 +00:00
Owen Anderson
dea09c7564
Provide correct NEON encodings for vbsl.
...
llvm-svn: 117293
2010-10-25 20:13:13 +00:00
Jim Grosbach
e6fe1a03c7
imm12 operands aren't Thumb2 only, so rename the printer helper function.
...
llvm-svn: 117291
2010-10-25 20:00:01 +00:00
Dan Gohman
fd864a1d31
Add a comment.
...
llvm-svn: 117288
2010-10-25 19:47:25 +00:00
Charles Davis
742052526a
Make the description of the hotpatch attribute even more generic. Spotted by
...
Michael Spencer.
llvm-svn: 117286
2010-10-25 19:07:39 +00:00
Owen Anderson
2477446ee5
Add correct instruction encodings for vbic, vorn, and vmvn.
...
llvm-svn: 117282
2010-10-25 18:43:52 +00:00
Rafael Espindola
752913d6ba
Add a virtual destructor.
...
llvm-svn: 117280
2010-10-25 18:38:32 +00:00
Owen Anderson
dff239c5f9
Provide correct NEON encodings for vand, veor, and vorr.
...
llvm-svn: 117279
2010-10-25 18:28:30 +00:00
Owen Anderson
d9cdda9ddc
Add tests for NEON encoding of vtst.
...
llvm-svn: 117277
2010-10-25 18:10:34 +00:00
Owen Anderson
feb3ee0c93
Add NEON encoding tests for vcgt and vacgt.
...
llvm-svn: 117276
2010-10-25 18:03:59 +00:00
Rafael Espindola
0ed1543d4e
Add support for emitting ARM file attributes.
...
llvm-svn: 117275
2010-10-25 17:50:35 +00:00
Owen Anderson
e5d0677173
Add tests for NEON encodings of vcge and vacge.
...
llvm-svn: 117274
2010-10-25 17:49:32 +00:00
Owen Anderson
c178b80f65
Add a warning about our inability to test the encoding of vceq with immediate zero.
...
llvm-svn: 117273
2010-10-25 17:33:02 +00:00
Jakob Stoklund Olesen
912db6d9d0
In which I learn how to forward declare template classes.
...
llvm-svn: 117272
2010-10-25 17:27:30 +00:00
Owen Anderson
02917f5b1b
Add tests for NEON encoding of vceq.
...
llvm-svn: 117270
2010-10-25 17:20:26 +00:00
Owen Anderson
a9ad6c0645
Add tests for NEON encoding of vsubhn and vrsubhn.
...
llvm-svn: 117269
2010-10-25 17:12:46 +00:00
Dan Gohman
abaf2d8d3b
Update comments; BasicAA is no longer necessarily the end of the chain.
...
llvm-svn: 117268
2010-10-25 16:29:52 +00:00
Charles Davis
1b2d372b9f
Make hotpatch attribute description a little less Wintel-specific.
...
llvm-svn: 117267
2010-10-25 16:29:03 +00:00
Dan Gohman
1033ce669b
Reintroduce these asserts, now that BasicAA is a normal AliasAnalysis pass.
...
llvm-svn: 117266
2010-10-25 16:28:57 +00:00