Che-Liang Chiou [Sun, 24 Oct 2010 15:40:18 +0000 (15:40 +0000)]
Add svn:ignore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117228
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sun, 24 Oct 2010 12:23:30 +0000 (12:23 +0000)]
Fix PR8445: a block with no predecessors may be the entry block, in which case
it isn't unreachable and should not be zapped. The check for the entry block
was missing in one case: a block containing a unwind instruction. While there,
do some small cleanups: "M" is not a great name for a Function* (it would be
more appropriate for a Module*), change it to "Fn"; use Fn in more places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117224
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 23 Oct 2010 18:02:16 +0000 (18:02 +0000)]
Add tests for NEON encoding of vqsub.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117214
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 23 Oct 2010 17:10:24 +0000 (17:10 +0000)]
SmallVectorize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117213
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 23 Oct 2010 09:37:17 +0000 (09:37 +0000)]
Move rejection of NEON parameters earlier in fast isel call processing,
note that we can actually handle some f64 arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117209
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 23 Oct 2010 09:28:42 +0000 (09:28 +0000)]
Constify another 2 disassembler tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117208
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 23 Oct 2010 09:10:44 +0000 (09:10 +0000)]
Make the disassembler tables const so they end up in read-only memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117206
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sat, 23 Oct 2010 09:06:59 +0000 (09:06 +0000)]
X86: Emit _fltused instead of __fltused on Windows x64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 23 Oct 2010 08:40:19 +0000 (08:40 +0000)]
Move the remaining attribute macros to systematic names based on the attribute
name and prefixed with 'LLVM_'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 23 Oct 2010 08:25:16 +0000 (08:25 +0000)]
Remove a define which is never referenced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117202
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 23 Oct 2010 08:10:43 +0000 (08:10 +0000)]
Switch attribute macros to use 'LLVM_' as a prefix. We retain the old names
until other LLVM projects using these are cleaned up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 23 Oct 2010 07:46:14 +0000 (07:46 +0000)]
Fix a likely bug in an assertion by adding parentheses around '||'. This bug
was found by a GCC warning. ;]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117199
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Sat, 23 Oct 2010 07:33:02 +0000 (07:33 +0000)]
Resurrect mcc16, it is useful as an example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117198
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Sat, 23 Oct 2010 07:32:53 +0000 (07:32 +0000)]
Remove -llvmc-temp-hack from tblgen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117197
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Sat, 23 Oct 2010 07:32:46 +0000 (07:32 +0000)]
Syntax tweak in llvmc: (something [a,b,c]) -> (something a, b, c).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117196
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Sat, 23 Oct 2010 07:32:37 +0000 (07:32 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117195
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 23 Oct 2010 02:19:37 +0000 (02:19 +0000)]
Enable ARM fastcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117194
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 23 Oct 2010 02:10:46 +0000 (02:10 +0000)]
Properly model the latency of register defs which are 1) function returns or
2) live-outs.
Previously the post-RA schedulers completely ignore these dependencies since
returns, branches, etc. are all scheduling barriers. This patch model the
latencies between instructions being scheduled and the barriers. It also
handle calls by marking their register uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117193
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 23 Oct 2010 02:04:38 +0000 (02:04 +0000)]
Latency between CPSR def and branch is zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117192
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 23 Oct 2010 00:49:09 +0000 (00:49 +0000)]
Verify LiveIntervals against the CFG, ensuring that live-in values are live-out
of all predecessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117191
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 23:58:22 +0000 (23:58 +0000)]
Add tests for NEON encoding of vhsub.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117189
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 23:48:29 +0000 (23:48 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117188
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 23:48:01 +0000 (23:48 +0000)]
Add a CMP test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117187
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 23:46:07 +0000 (23:46 +0000)]
Add tests for NEON encoding of vsubw.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117186
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 23:46:04 +0000 (23:46 +0000)]
tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117185
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 23:36:36 +0000 (23:36 +0000)]
Add tests for NEON encoding of vsubl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117183
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 22 Oct 2010 23:33:19 +0000 (23:33 +0000)]
Nonvirtual dtor that was accessible enough to be bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117180
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 23:21:04 +0000 (23:21 +0000)]
Add tests for NEON encoding of vsub.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117177
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 22 Oct 2010 23:16:11 +0000 (23:16 +0000)]
fix memory-layout assumption which only holds on little-endian systems
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117176
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 22 Oct 2010 23:09:15 +0000 (23:09 +0000)]
This is a prototype of an experimental register allocation
framework. It's purpose is not to improve register allocation per se,
but to make it easier to develop powerful live range splitting. I call
it the basic allocator because it is as simple as a global allocator
can be but provides the building blocks for sophisticated register
allocation with live range splitting.
A minimal implementation is provided that trivially spills whenever it
runs out of registers. I'm checking in now to get high-level design
and style feedback. I've only done minimal testing. The next step is
implementing a "greedy" allocation algorithm that does some register
reassignment and makes better splitting decisions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117174
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 23:08:47 +0000 (23:08 +0000)]
Add tests for NEON encoding of vqdmlsl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117173
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 22 Oct 2010 23:04:17 +0000 (23:04 +0000)]
Do not install libBugpointPasses.dylib for Apple builds. Radar
8585383.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117172
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 23:02:27 +0000 (23:02 +0000)]
Add tests for NEON encoding of vmlsl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117171
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 22 Oct 2010 22:48:58 +0000 (22:48 +0000)]
Add more verification of LiveIntervals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117170
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 22 Oct 2010 22:48:56 +0000 (22:48 +0000)]
Be more strict about detecting multi-use blocks for isolation.
When a block has exactly two uses and the register is both live-in and live-out,
don't isolate the block. We would be inserting two copies, so we haven't really
made any progress.
If the live-in and live-out values separate into disconnected components after
splitting, we would be making progress. We can't detect that for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117169
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 22:15:48 +0000 (22:15 +0000)]
tidy up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117166
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 22:12:16 +0000 (22:12 +0000)]
ARM mode encoding information for CLZ, RBIT, REV*, and PKH*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117165
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 22 Oct 2010 22:10:57 +0000 (22:10 +0000)]
Fix the name of libLLVMHello.dylib so that it does not get installed for
Apple builds. Radar
8585383.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117164
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 22:04:28 +0000 (22:04 +0000)]
Remove duplicate test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117158
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 22:01:56 +0000 (22:01 +0000)]
tidy up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117157
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 21:55:03 +0000 (21:55 +0000)]
FileCheck-ize a few tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117156
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 22 Oct 2010 21:49:09 +0000 (21:49 +0000)]
Unbreak build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117155
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 22 Oct 2010 21:41:48 +0000 (21:41 +0000)]
Teach instcombine to set the alignment arguments for NEON load/store intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117154
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 22 Oct 2010 21:29:58 +0000 (21:29 +0000)]
Transfer implicit ops when forming load multiple and return instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117151
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 20:31:24 +0000 (20:31 +0000)]
Add tests for the correct encoding of NEON vmls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117145
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 22 Oct 2010 20:28:23 +0000 (20:28 +0000)]
Be more strict when detecting critical edges before loop splitting.
An exit block with a critical edge must only have predecessors in the loop, or
just before the loop. This guarantees that the inserted copies in the loop
predecessors dominate the exit block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117144
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 22 Oct 2010 20:28:21 +0000 (20:28 +0000)]
Add print methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117143
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 19:35:48 +0000 (19:35 +0000)]
Add correct NEON encodings for vqdmlal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117134
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 19:15:30 +0000 (19:15 +0000)]
Add the encoding information for the rest of the ARM mode multiply instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117133
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Fri, 22 Oct 2010 19:14:39 +0000 (19:14 +0000)]
I hate line endings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117132
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 19:05:25 +0000 (19:05 +0000)]
Provide correct encodings for NEON vmlal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117131
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 22 Oct 2010 19:03:24 +0000 (19:03 +0000)]
Loadable modules are not supported on Cygwin. PR 6655.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117130
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 22 Oct 2010 18:57:05 +0000 (18:57 +0000)]
Silence compiler warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117128
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 18:54:37 +0000 (18:54 +0000)]
Provide correct NEON encodings for vmla.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117126
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Fri, 22 Oct 2010 18:45:12 +0000 (18:45 +0000)]
Endian: Get rid of LLVM_IS_HOST_BIG_ENDIAN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117124
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Fri, 22 Oct 2010 18:44:22 +0000 (18:44 +0000)]
Temporarily revert r117079; it broke a tester. Radar
6635085.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117122
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 18:35:16 +0000 (18:35 +0000)]
More ARM multiply instuction binary encodings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117121
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 22 Oct 2010 18:23:05 +0000 (18:23 +0000)]
Add fastcc cc: pass and return VFP / NEON values in registers. Controlled by -arm-fastcc for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117119
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 22 Oct 2010 17:57:37 +0000 (17:57 +0000)]
Add testscases for encoding of NEON vdqmull.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117115
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 17:42:06 +0000 (17:42 +0000)]
Parameterize a bit of ARM encoding information, simplifying some instruction
definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117114
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 22 Oct 2010 17:37:42 +0000 (17:37 +0000)]
Avoid stalled file dependency when tablegenning.
Patch by Frits van Bommel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117113
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 22 Oct 2010 17:35:07 +0000 (17:35 +0000)]
Make some symbols static, move classes into anonymous namespaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117111
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 22 Oct 2010 17:16:26 +0000 (17:16 +0000)]
Don't try to guess svn version when current path is a symlink.
See PR 8473.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117109
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 22 Oct 2010 17:16:17 +0000 (17:16 +0000)]
More ARM multiply instruction encoding information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117108
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Fri, 22 Oct 2010 16:20:10 +0000 (16:20 +0000)]
Teach CMake to only touch tablegen-generated files if anything
actually changed.
Patch by Frits van Bommel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117102
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Fri, 22 Oct 2010 15:52:49 +0000 (15:52 +0000)]
Making the e_machine configurable by the target backend in ELFObjectWriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117099
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 22 Oct 2010 14:53:59 +0000 (14:53 +0000)]
lli: On Cygwin-1.5, lli crashes at invoking destructors in atexit handler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117095
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Fri, 22 Oct 2010 12:54:34 +0000 (12:54 +0000)]
Standardise all build-mode affecting {EN,DIS}ABLE_* make options to
test equality to 1, and fix/update documentation to reflect this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117094
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 22 Oct 2010 09:40:37 +0000 (09:40 +0000)]
test/Makefile: Force lit -j1 on Cygwin.
lit -jN causes crash on Cygwin's python.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117093
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Fri, 22 Oct 2010 08:47:28 +0000 (08:47 +0000)]
Rename LLVM_IS_TARGET_BIG_ENDIAN to LLVM_IS_HOST_BIG_ENDIAN to reflect what it actually means.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117092
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 22 Oct 2010 03:58:29 +0000 (03:58 +0000)]
Reverting r117031 to cleanup valgrind errors.
It doesn't look like anything is wrong with the checkin,
but the new test cases expose a mem bug in AsmParser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117087
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 22 Oct 2010 01:28:00 +0000 (01:28 +0000)]
Add some basic ret instruction support to arm fast-isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117085
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Callanan [Fri, 22 Oct 2010 01:24:11 +0000 (01:24 +0000)]
Fixed handling of immediate operand sizes, which
weren't properly reflecting the OperandSize attribute
of the instruction leading to improper decoding of
certain instructions with the 66H prefix. Also added
a test case for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117084
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 22 Oct 2010 01:23:50 +0000 (01:23 +0000)]
Win32/Signals.inc: DontRemoveFileOnSignal(): Please acquire the CriticalSection.
It choked BugPoint on Mingw.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117083
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Oct 2010 22:52:30 +0000 (22:52 +0000)]
ARM binary encoding for some of the multiply instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117080
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Thu, 21 Oct 2010 22:43:32 +0000 (22:43 +0000)]
Test case for r117075. Radar
6635085.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117079
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 22:19:53 +0000 (22:19 +0000)]
Add tests for NEON encoding of vmull.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117077
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Oct 2010 22:19:32 +0000 (22:19 +0000)]
ARM binary encodings for MVN variants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117076
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 22:05:33 +0000 (22:05 +0000)]
Add tests for NEON encoding of vqdmulh and vqrdmulh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117074
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Oct 2010 22:04:05 +0000 (22:04 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117073
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Oct 2010 22:03:21 +0000 (22:03 +0000)]
ARM Binary encoding information for BFC/BFI instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117072
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Oct 2010 21:55:35 +0000 (21:55 +0000)]
Add some more documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117070
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 21:51:58 +0000 (21:51 +0000)]
Add tests for NEON vmul encoding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117069
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 21 Oct 2010 21:47:51 +0000 (21:47 +0000)]
These don't need to be virtual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117068
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 21:40:15 +0000 (21:40 +0000)]
Rename this test to better reflect its contents.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117067
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Thu, 21 Oct 2010 21:16:03 +0000 (21:16 +0000)]
Fix type in passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117065
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 20:56:57 +0000 (20:56 +0000)]
Add tests for NEON encodings of vaddhn and vraddhn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117064
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 21 Oct 2010 20:49:38 +0000 (20:49 +0000)]
Fix Warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117062
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 21 Oct 2010 20:49:23 +0000 (20:49 +0000)]
X86: Base _fltused on the FunctionType of the called value instead of the potentially null "CalledFunction". Thanks Duncan!
This is needed for indirect calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117061
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 20:49:13 +0000 (20:49 +0000)]
Move the encoding logic for Q registers into getMachineOpValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117060
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 20:42:04 +0000 (20:42 +0000)]
Add tests for NEON encodings of vqadd, which was already correctly encoded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117059
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 21 Oct 2010 20:40:39 +0000 (20:40 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117058
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 21 Oct 2010 20:28:21 +0000 (20:28 +0000)]
Support: Add Endian.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117057
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 20:21:49 +0000 (20:21 +0000)]
ARM encodes Q registers as 2xregno (i.e. the number of the D register that corresponds to the lower
half of the Q register), rather than with just regno. This allows us to unify the encodings for
a lot of different NEON instrucitons that differ only in whether they have Q or D register operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117056
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 21 Oct 2010 20:09:54 +0000 (20:09 +0000)]
Handle storing args to the stack for calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117055
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 21 Oct 2010 19:48:38 +0000 (19:48 +0000)]
Adding initial AsmParser implementation for the MBlaze backend. It is
mostly based on the ARM AsmParser at this time and is not particularly
functional.
Changed the MBlaze data layout from:
"E-p:32:32-i8:8:8-i16:16:16-i64:32:32-f64:32:32-v64:32:32-v128:32:32-n32"
to:
"E-p:32:32:32-i8:8:8-i16:16:16"
because the MicroBlaze doesn't have i64, f64, v64, or v128 data types.
Cleaned up the MBlaze source code:
1. The floating point register class has been removed. The
MicroBlaze does not have floating point registers. Floating
point values are simply stored in integer registers.
2. Renaming the CPURegs register class to GPR to reflect the
standard naming.
3. Removing a lot of stale code from AsmPrinter after
the conversion to InstPrinter.
4. Simplified sign extended loads by marking them as
expanded in ISelLowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117054
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Oct 2010 19:45:09 +0000 (19:45 +0000)]
Explain what "constant" means here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117053
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 21 Oct 2010 19:40:30 +0000 (19:40 +0000)]
More load/store refactoring, call reg+offset simplification from within
the emitter to handle the addresses. Only simplify the offset if we need
to - also fix bug where in addrmode 5 we weren't dividing the offset by
4, which showed up due to not always lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117051
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 21 Oct 2010 19:38:40 +0000 (19:38 +0000)]
trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117050
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 21 Oct 2010 19:01:22 +0000 (19:01 +0000)]
Update comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117048
91177308-0d34-0410-b5e6-
96231b3b80d8