Jakob Stoklund Olesen [Wed, 27 Oct 2010 00:39:07 +0000 (00:39 +0000)]
Handle critical loop predecessors by making both inside and outside registers
live out.
This doesn't prevent us from inserting a loop preheader later on, if that is
better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117424
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 27 Oct 2010 00:39:05 +0000 (00:39 +0000)]
Compute critical loop predecessors in the same way as critical loop exits.
Critical edges going into a loop are not as bad as critical exits. We can handle
them by splitting the critical edge, or by having both inside and outside
registers live out of the predecessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117423
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 27 Oct 2010 00:39:01 +0000 (00:39 +0000)]
Physical registers trivially have multiple connected components all the time.
Only virtuals should be requires to be connected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117422
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 27 Oct 2010 00:38:16 +0000 (00:38 +0000)]
One more spot where the new arm mode LDR instruction representation
doesn't need the additional addrmode2 register operand. Missed it the first
time around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117421
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Wed, 27 Oct 2010 00:23:01 +0000 (00:23 +0000)]
Adding disassembler to the MicroBlaze backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117420
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 27 Oct 2010 00:19:44 +0000 (00:19 +0000)]
Split ARM::LDRB into LDRBi12 and LDRBrs. Adjust accordingly. Continuing on
rdar://
8477752.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117419
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 26 Oct 2010 23:58:04 +0000 (23:58 +0000)]
Since I parameterized this bit, I should probably actually use said parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117418
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 26 Oct 2010 23:24:54 +0000 (23:24 +0000)]
Enable clang autocompletion by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117415
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 26 Oct 2010 23:11:10 +0000 (23:11 +0000)]
Use a MemIntrinsicSDNode for ISD::PREFETCH, which touches
memory, so a MachineMemOperand is useful (not propagated
into the MachineInstr yet). No functional change except
for dump output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117413
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Tue, 26 Oct 2010 22:58:24 +0000 (22:58 +0000)]
Remove the vector of live vregs. I thought we would need to track
them, but hopefully we won't. And this is not the right data structure
to do it anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117412
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 22:50:46 +0000 (22:50 +0000)]
Add correct NEON encodings for vqshl, vqshrn, vqshrun, vqrshl, vqshrn, and vqrshrun.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117411
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 26 Oct 2010 22:37:02 +0000 (22:37 +0000)]
First part of refactoring ARM addrmode2 (load/store) instructions to be more
explicit about the operands. Split out the different variants into separate
instructions. This gives us the ability to, among other things, assign
different scheduling itineraries to the variants. rdar://
8477752.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117409
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 22:36:09 +0000 (22:36 +0000)]
After splitting, compute connected components of all new registers, not just for
the remainder register.
Example:
bb0:
x = 1
bb1:
use(x)
...
x = 2
jump bb1
When x is isolated in bb1, the inner part breaks into two components, x1 and x2:
bb0:
x0 = 1
bb1:
x1 = x0
use(x1)
...
x2 = 2
x0 = x2
jump bb1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117408
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 22:36:07 +0000 (22:36 +0000)]
Verify that live intervals are connected. If there are multiple connected
components, each should get its own virtual register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117407
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 22:36:05 +0000 (22:36 +0000)]
Call RenumberValues for all new registers created during splitting. This is
necessary to get correct hasPHIKill flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117406
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 22:36:02 +0000 (22:36 +0000)]
Preserve PHIDef bits in cloned values during splitting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117405
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 26 Oct 2010 22:14:52 +0000 (22:14 +0000)]
Assign source ordering to nodes created for StoreInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117404
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 21:58:41 +0000 (21:58 +0000)]
Correct NEON encodings for vshrn, vrshl, vrshr, vrshrn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117402
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 26 Oct 2010 21:26:47 +0000 (21:26 +0000)]
FileCheck'ize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117401
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 21:21:47 +0000 (21:21 +0000)]
Add tests for NEON encoding of vshll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117399
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 21:13:59 +0000 (21:13 +0000)]
Simplify classes for shift instructions, which are never commutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117398
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 21:08:42 +0000 (21:08 +0000)]
Tests for NEON encoding of vshr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117396
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 20:56:57 +0000 (20:56 +0000)]
Provide correct NEON encodings for vshl, register and immediate forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117394
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 20:21:46 +0000 (20:21 +0000)]
Teach MachineBasicBlock::print() to annotate instructions and blocks with
SlotIndexes when available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117392
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 20:21:43 +0000 (20:21 +0000)]
Remmeber to print full live interval on verification error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117391
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 26 Oct 2010 19:35:47 +0000 (19:35 +0000)]
Add support for .ident.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117389
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 26 Oct 2010 19:34:41 +0000 (19:34 +0000)]
Grammar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117388
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 26 Oct 2010 19:22:23 +0000 (19:22 +0000)]
Nuke extraneous comment. It's applicable elsewhere, but not in this func.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117387
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 18:43:13 +0000 (18:43 +0000)]
Tests for NEON encoding of vrecpe, vrecps, vrsqrte, and vsqrts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117385
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Tue, 26 Oct 2010 18:34:01 +0000 (18:34 +0000)]
Jakob's review of the basic register allocator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117384
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 18:31:47 +0000 (18:31 +0000)]
Tests for NEON encodings of vpmin and vpmax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117382
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 18:18:03 +0000 (18:18 +0000)]
Add correct NEON encoding for vpadal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117380
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 26 Oct 2010 18:09:55 +0000 (18:09 +0000)]
handle X86::EH_RETURN64 and X86::EH_RETURN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117378
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 18:04:51 +0000 (18:04 +0000)]
Tests for NEON encoding of vpadd and vpaddl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117377
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 26 Oct 2010 17:49:02 +0000 (17:49 +0000)]
s/beginScope/beginInstruction/g
s/endScope/endInstruction/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117376
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 26 Oct 2010 17:40:54 +0000 (17:40 +0000)]
Add NEON encodings for vmov and vmvn of immediates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117374
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 16:49:23 +0000 (16:49 +0000)]
Don't verify physical registers going into landing pads.
Magic is happening that we don't understand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117370
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 26 Oct 2010 14:09:12 +0000 (14:09 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117364
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 26 Oct 2010 12:43:36 +0000 (12:43 +0000)]
Yet another thing that was forgotten to be added to the release notes...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117362
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Tue, 26 Oct 2010 10:45:47 +0000 (10:45 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117360
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 26 Oct 2010 05:08:27 +0000 (05:08 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117352
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 26 Oct 2010 02:08:50 +0000 (02:08 +0000)]
Use instruction itinerary to determine what instructions are 'cheap'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117348
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 26 Oct 2010 02:03:05 +0000 (02:03 +0000)]
NEON vmov's are in Neon domain.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117347
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 26 Oct 2010 00:51:57 +0000 (00:51 +0000)]
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117345
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 00:11:35 +0000 (00:11 +0000)]
InlineSpiller can also update LiveStacks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117338
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 26 Oct 2010 00:11:33 +0000 (00:11 +0000)]
Make the spiller responsible for updating the LiveStacks analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117337
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 26 Oct 2010 00:02:24 +0000 (00:02 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117333
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 26 Oct 2010 00:02:21 +0000 (00:02 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117332
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 26 Oct 2010 00:02:19 +0000 (00:02 +0000)]
Tidy up redundant check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117331
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 25 Oct 2010 23:56:21 +0000 (23:56 +0000)]
Neuter r117193 as it causes significant post-ra scheduler compile time regression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117329
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 23:45:34 +0000 (23:45 +0000)]
Tests for NEON encoding of vmax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117327
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 23:35:36 +0000 (23:35 +0000)]
Tests for NEON encoding of vmin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117326
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 25 Oct 2010 22:26:55 +0000 (22:26 +0000)]
Produce the headers directly in the Finish method. This allows us to use
the existing streamer methods that are endian safe.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117323
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 25 Oct 2010 22:17:05 +0000 (22:17 +0000)]
An stdcall function calling a non-stdcall function
cannot use tailcall. PR 8461.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117322
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 21:38:20 +0000 (21:38 +0000)]
Support TBAA attachments on calls. This is somewhat experimental.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117317
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 25 Oct 2010 21:31:46 +0000 (21:31 +0000)]
Simplify.
Do not count use of sdisel for single call instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117316
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 21:29:04 +0000 (21:29 +0000)]
Add correct encodings for NEON vabal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117315
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 21:24:55 +0000 (21:24 +0000)]
Fix chaining in TBAA's pointsToConstantMemory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117314
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 25 Oct 2010 21:04:12 +0000 (21:04 +0000)]
Update SelectBasicBlock signature. This should have been committed with r117310.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117312
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 25 Oct 2010 20:55:43 +0000 (20:55 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117310
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 20:52:57 +0000 (20:52 +0000)]
Add correct NEON encodings for vaba.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117309
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 25 Oct 2010 20:45:32 +0000 (20:45 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117307
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 20:36:28 +0000 (20:36 +0000)]
Tests for NEON encoding of vabdl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117303
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 20:29:27 +0000 (20:29 +0000)]
Add tests for NEON encoding of vabd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117302
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 20:22:29 +0000 (20:22 +0000)]
Only read one bit for testing for a readonly type, leaving the other
bits open for future uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117301
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Oct 2010 20:18:56 +0000 (20:18 +0000)]
MC/AsmParser: Fix relative precedence of {+,-} and comparison ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117299
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Oct 2010 20:18:53 +0000 (20:18 +0000)]
MC/AsmLexer: Fix bug in source location for Slash token.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117298
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Oct 2010 20:18:49 +0000 (20:18 +0000)]
tweak test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117297
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Oct 2010 20:18:46 +0000 (20:18 +0000)]
llvm-mc: Teach -as-lex to print the raw token string as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117296
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 25 Oct 2010 20:18:41 +0000 (20:18 +0000)]
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...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117295
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 20:17:22 +0000 (20:17 +0000)]
Attempt to provide correct encodings for NEON vbit and vbif, even though we can't test them at the moment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117294
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 20:13:13 +0000 (20:13 +0000)]
Provide correct NEON encodings for vbsl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117293
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 25 Oct 2010 20:00:01 +0000 (20:00 +0000)]
imm12 operands aren't Thumb2 only, so rename the printer helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117291
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 19:47:25 +0000 (19:47 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117288
91177308-0d34-0410-b5e6-
96231b3b80d8
Charles Davis [Mon, 25 Oct 2010 19:07:39 +0000 (19:07 +0000)]
Make the description of the hotpatch attribute even more generic. Spotted by
Michael Spencer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117286
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 18:43:52 +0000 (18:43 +0000)]
Add correct instruction encodings for vbic, vorn, and vmvn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117282
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 25 Oct 2010 18:38:32 +0000 (18:38 +0000)]
Add a virtual destructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117280
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 18:28:30 +0000 (18:28 +0000)]
Provide correct NEON encodings for vand, veor, and vorr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117279
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 18:10:34 +0000 (18:10 +0000)]
Add tests for NEON encoding of vtst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117277
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 18:03:59 +0000 (18:03 +0000)]
Add NEON encoding tests for vcgt and vacgt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117276
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 25 Oct 2010 17:50:35 +0000 (17:50 +0000)]
Add support for emitting ARM file attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117275
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 17:49:32 +0000 (17:49 +0000)]
Add tests for NEON encodings of vcge and vacge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117274
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 17:33:02 +0000 (17:33 +0000)]
Add a warning about our inability to test the encoding of vceq with immediate zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117273
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 25 Oct 2010 17:27:30 +0000 (17:27 +0000)]
In which I learn how to forward declare template classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117272
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 17:20:26 +0000 (17:20 +0000)]
Add tests for NEON encoding of vceq.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117270
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 25 Oct 2010 17:12:46 +0000 (17:12 +0000)]
Add tests for NEON encoding of vsubhn and vrsubhn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117269
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 16:29:52 +0000 (16:29 +0000)]
Update comments; BasicAA is no longer necessarily the end of the chain.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117268
91177308-0d34-0410-b5e6-
96231b3b80d8
Charles Davis [Mon, 25 Oct 2010 16:29:03 +0000 (16:29 +0000)]
Make hotpatch attribute description a little less Wintel-specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117267
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 16:28:57 +0000 (16:28 +0000)]
Reintroduce these asserts, now that BasicAA is a normal AliasAnalysis pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117266
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 25 Oct 2010 16:16:27 +0000 (16:16 +0000)]
Fix a case where instcombine was stripping metadata (and alignment)
from stores when folding in bitcasts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117265
91177308-0d34-0410-b5e6-
96231b3b80d8
Charles Davis [Mon, 25 Oct 2010 15:37:09 +0000 (15:37 +0000)]
Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op
instruction at the beginning of each function that has the attribute, allowing
the function to be easily hooked and/or patched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117264
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Mon, 25 Oct 2010 15:36:50 +0000 (15:36 +0000)]
Reference RegionPass to stop it being eliminated.
Contributed by: ether
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117263
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 25 Oct 2010 13:10:03 +0000 (13:10 +0000)]
ATTRIBUTE_UNUSED has been renamed to LLVM_ATTRIBUTE_UNUSED.
Rather than rename this instance, use the cast-to-void idiom
instead. This will hopefully fix the windows buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117262
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 25 Oct 2010 12:47:22 +0000 (12:47 +0000)]
Remove deprecated macro names. Hopefully this will unbreak the
smooshlab build. The breakage seems to be due to a collision
between LLVM's ATTRIBUTE_UNUSED and gcc's which was previously
hidden due to header files being included in a lucky order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117260
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Mon, 25 Oct 2010 08:57:30 +0000 (08:57 +0000)]
Update target feature matrix for CellSPU
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117255
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sun, 24 Oct 2010 20:04:05 +0000 (20:04 +0000)]
Update target feature matrix for Blackfin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117245
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Sun, 24 Oct 2010 18:50:12 +0000 (18:50 +0000)]
Updating target feature matrix to indicate current MBlaze status.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117244
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 24 Oct 2010 17:35:42 +0000 (17:35 +0000)]
Add X86::reloc_global_offset_table and use it to have a single place where
we check for _GLOBAL_OFFSET_TABLE_.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117241
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 24 Oct 2010 16:24:22 +0000 (16:24 +0000)]
broken link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117232
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 24 Oct 2010 16:18:00 +0000 (16:18 +0000)]
add a big table with target features.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117230
91177308-0d34-0410-b5e6-
96231b3b80d8