Eric Christopher
58a6e62c08
Add some basic ret instruction support to arm fast-isel.
...
llvm-svn: 117085
2010-10-22 01:28:00 +00:00
Sean Callanan
9a40554de4
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.
llvm-svn: 117084
2010-10-22 01:24:11 +00:00
NAKAMURA Takumi
76a048b6e7
Win32/Signals.inc: DontRemoveFileOnSignal(): Please acquire the CriticalSection.
...
It choked BugPoint on Mingw.
llvm-svn: 117083
2010-10-22 01:23:50 +00:00
Jim Grosbach
d86073aa9a
ARM binary encoding for some of the multiply instructions.
...
llvm-svn: 117080
2010-10-21 22:52:30 +00:00
Stuart Hastings
c6b2d77375
Test case for r117075. Radar 6635085.
...
llvm-svn: 117079
2010-10-21 22:43:32 +00:00
Owen Anderson
bba3b2050e
Add tests for NEON encoding of vmull.
...
llvm-svn: 117077
2010-10-21 22:19:53 +00:00
Jim Grosbach
7c42142b71
ARM binary encodings for MVN variants.
...
llvm-svn: 117076
2010-10-21 22:19:32 +00:00
Owen Anderson
653fc9304a
Add tests for NEON encoding of vqdmulh and vqrdmulh.
...
llvm-svn: 117074
2010-10-21 22:05:33 +00:00
Jim Grosbach
e6d61a87e4
Trailing whitespace.
...
llvm-svn: 117073
2010-10-21 22:04:05 +00:00
Jim Grosbach
cb41e97b5c
ARM Binary encoding information for BFC/BFI instructions.
...
llvm-svn: 117072
2010-10-21 22:03:21 +00:00
Dan Gohman
fe5489a0ac
Add some more documentation.
...
llvm-svn: 117070
2010-10-21 21:55:35 +00:00
Owen Anderson
2c25ce7af1
Add tests for NEON vmul encoding.
...
llvm-svn: 117069
2010-10-21 21:51:58 +00:00
Eric Christopher
59683c9d71
These don't need to be virtual.
...
llvm-svn: 117068
2010-10-21 21:47:51 +00:00
Owen Anderson
b0bddd3282
Rename this test to better reflect its contents.
...
llvm-svn: 117067
2010-10-21 21:40:15 +00:00
Tobias Grosser
d1218c2661
Fix type in passes.
...
llvm-svn: 117065
2010-10-21 21:16:03 +00:00
Owen Anderson
77c5078d4a
Add tests for NEON encodings of vaddhn and vraddhn.
...
llvm-svn: 117064
2010-10-21 20:56:57 +00:00
Michael J. Spencer
a43c204ef7
Fix Warnings.
...
llvm-svn: 117062
2010-10-21 20:49:38 +00:00
Michael J. Spencer
08602f9803
X86: Base _fltused on the FunctionType of the called value instead of the potentially null "CalledFunction". Thanks Duncan!
...
This is needed for indirect calls.
llvm-svn: 117061
2010-10-21 20:49:23 +00:00
Owen Anderson
f84632744e
Move the encoding logic for Q registers into getMachineOpValue().
...
llvm-svn: 117060
2010-10-21 20:49:13 +00:00
Owen Anderson
ba6ee305cf
Add tests for NEON encodings of vqadd, which was already correctly encoded.
...
llvm-svn: 117059
2010-10-21 20:42:04 +00:00
Mikhail Glushenkov
55ada6816e
Trailing whitespace.
...
llvm-svn: 117058
2010-10-21 20:40:39 +00:00
Michael J. Spencer
b9734a5b12
Support: Add Endian.h
...
llvm-svn: 117057
2010-10-21 20:28:21 +00:00
Owen Anderson
ba2ac80921
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.
llvm-svn: 117056
2010-10-21 20:21:49 +00:00
Eric Christopher
7ded7e88c8
Handle storing args to the stack for calls.
...
llvm-svn: 117055
2010-10-21 20:09:54 +00:00
Wesley Peck
8a77999240
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.
llvm-svn: 117054
2010-10-21 19:48:38 +00:00
Dan Gohman
6fb125afc8
Explain what "constant" means here.
...
llvm-svn: 117053
2010-10-21 19:45:09 +00:00
Eric Christopher
b15029ea7e
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.
llvm-svn: 117051
2010-10-21 19:40:30 +00:00
Jim Grosbach
f35d3b2aa1
trailing whitespace
...
llvm-svn: 117050
2010-10-21 19:38:40 +00:00
Dan Gohman
8cb659e892
Update comments.
...
llvm-svn: 117048
2010-10-21 19:01:22 +00:00
Owen Anderson
51a6bc3b27
Add correct NEON encodings for vhadd and vrhadd.
...
llvm-svn: 117047
2010-10-21 18:55:04 +00:00
Jakob Stoklund Olesen
4794d28044
Don't include the destination interval in the union when computing
...
Parent - union(Y, ...). Doh.
llvm-svn: 117042
2010-10-21 18:47:08 +00:00
Jakob Stoklund Olesen
82da267156
Permit landing pad successor blocks when verifying basic blocks that end in an
...
unconditional branch.
llvm-svn: 117041
2010-10-21 18:47:06 +00:00
Owen Anderson
dce283c7db
Add correct encodings for NEON vaddw.s* and vaddw.u*.
...
llvm-svn: 117040
2010-10-21 18:20:25 +00:00
Owen Anderson
7d90c72edf
Provide correct NEON encodings for vaddl.u* and vaddl.s*.
...
llvm-svn: 117039
2010-10-21 18:09:17 +00:00
Rafael Espindola
69c973fbfd
Do not recurse into symbol refs that have a variant kind. This prevents us
...
from losing the variant when producing a relocation on an alias.
llvm-svn: 117037
2010-10-21 18:00:20 +00:00
Kevin Enderby
c63105a064
More tweaks to X86 instructions to allow the 'w' suffix in places it makes
...
sense, when the instruction takes the 16-bit ax register or m16 memory
location. These changes to llvm-mc matches what the darwin assembler allows
for these instructions. Also added the missing flex (without the wait prefix)
and ud2a as an alias to ud2 (still to add ud2b).
llvm-svn: 117031
2010-10-21 17:16:46 +00:00
Duncan Sands
669ddd943a
AlignLoc is never used for anything - zap it (gcc-4.6 warning).
...
llvm-svn: 117025
2010-10-21 16:07:10 +00:00
Duncan Sands
b458f1dc85
The return value of this call is not used, so no point
...
in assigning it to a variable (gcc-4.6 warning).
llvm-svn: 117024
2010-10-21 16:06:28 +00:00
Duncan Sands
f7cfeda351
RetOp is not actually used for anything useful (though
...
it looks like maybe it was supposed to be used in the
test...), so zap it (gcc-4.6 warning).
llvm-svn: 117023
2010-10-21 16:05:44 +00:00
Duncan Sands
c40461600a
The variable liTRC is not used for anything useful, zap it
...
(gcc-4.6 warning).
llvm-svn: 117022
2010-10-21 16:04:43 +00:00
Duncan Sands
0c166168a0
Remove some variables that are never really used
...
(gcc-4.6 warns about these).
llvm-svn: 117021
2010-10-21 16:03:28 +00:00
Duncan Sands
8c5f243aa0
Add parentheses to pacify gcc, which warns otherwise.
...
llvm-svn: 117020
2010-10-21 16:02:12 +00:00
Duncan Sands
e4c3445e85
Argh, completely forgot to add this to the release notes!
...
Better late than never, right?
llvm-svn: 117009
2010-10-21 14:40:02 +00:00
Duncan Sands
acbc34528c
Fix the cleanup process of exception information in JIT. Now JIT
...
deregisters registered by it FDE structures allowing consecutive
JIT runs to succeed. Patch by Yuri. Fixes PR8285.
llvm-svn: 117004
2010-10-21 08:57:29 +00:00
Bill Wendling
8b2c8a5856
Fix whitespace.
...
llvm-svn: 117002
2010-10-21 06:25:08 +00:00
Wesley Peck
b100615cc6
Removing stale AsmPrinter directory from MicroBlaze backend.
...
llvm-svn: 116998
2010-10-21 05:05:06 +00:00
Oscar Fuentes
00ad8b9b29
Deleted lib/Target/MBlaze/AsmPrinter/CMakeLists.txt. This way the
...
CMake build does not try to build that library, which collides with
MBlaze/InstPrinter.
llvm-svn: 116997
2010-10-21 05:01:26 +00:00
Wesley Peck
d646a12f25
Recommit 116986 with capitalization typo fixed.
...
llvm-svn: 116993
2010-10-21 03:57:26 +00:00
Andrew Trick
4a3b819c1f
putback r116983 and fix simple-fp-encoding.ll tests
...
llvm-svn: 116992
2010-10-21 03:40:16 +00:00
Wesley Peck
3478e641b9
Reverting the commit 116986. It was breaking the build on llvm-x86_64-linux though it
...
compiles on OS X. I'll ensure that it builds on a linux machine before committing
again.
llvm-svn: 116991
2010-10-21 03:34:22 +00:00