OSDN Git Service
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
Owen Anderson [Thu, 21 Oct 2010 18:55:04 +0000 (18:55 +0000)]
Add correct NEON encodings for vhadd and vrhadd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117047
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 21 Oct 2010 18:47:08 +0000 (18:47 +0000)]
Don't include the destination interval in the union when computing
Parent - union(Y, ...). Doh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117042
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 21 Oct 2010 18:47:06 +0000 (18:47 +0000)]
Permit landing pad successor blocks when verifying basic blocks that end in an
unconditional branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117041
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 18:20:25 +0000 (18:20 +0000)]
Add correct encodings for NEON vaddw.s* and vaddw.u*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117040
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 18:09:17 +0000 (18:09 +0000)]
Provide correct NEON encodings for vaddl.u* and vaddl.s*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117039
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 21 Oct 2010 18:00:20 +0000 (18:00 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117037
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Thu, 21 Oct 2010 17:16:46 +0000 (17:16 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117031
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 21 Oct 2010 16:07:10 +0000 (16:07 +0000)]
AlignLoc is never used for anything - zap it (gcc-4.6 warning).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117025
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 21 Oct 2010 16:06:28 +0000 (16:06 +0000)]
The return value of this call is not used, so no point
in assigning it to a variable (gcc-4.6 warning).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117024
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 21 Oct 2010 16:05:44 +0000 (16:05 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117023
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 21 Oct 2010 16:04:43 +0000 (16:04 +0000)]
The variable liTRC is not used for anything useful, zap it
(gcc-4.6 warning).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117022
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 21 Oct 2010 16:03:28 +0000 (16:03 +0000)]
Remove some variables that are never really used
(gcc-4.6 warns about these).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117021
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 21 Oct 2010 16:02:12 +0000 (16:02 +0000)]
Add parentheses to pacify gcc, which warns otherwise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117020
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 21 Oct 2010 14:40:02 +0000 (14:40 +0000)]
Argh, completely forgot to add this to the release notes!
Better late than never, right?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117009
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 21 Oct 2010 08:57:29 +0000 (08:57 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117004
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 21 Oct 2010 06:25:08 +0000 (06:25 +0000)]
Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117002
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 21 Oct 2010 05:05:06 +0000 (05:05 +0000)]
Removing stale AsmPrinter directory from MicroBlaze backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116998
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Thu, 21 Oct 2010 05:01:26 +0000 (05:01 +0000)]
Deleted lib/Target/MBlaze/AsmPrinter/CMakeLists.txt. This way the
CMake build does not try to build that library, which collides with
MBlaze/InstPrinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116997
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 21 Oct 2010 03:57:26 +0000 (03:57 +0000)]
Recommit 116986 with capitalization typo fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116993
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 21 Oct 2010 03:40:16 +0000 (03:40 +0000)]
putback r116983 and fix simple-fp-encoding.ll tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116992
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 21 Oct 2010 03:34:22 +0000 (03:34 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116991
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 03:11:16 +0000 (03:11 +0000)]
Revert r116983, which is breaking all the buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116987
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 21 Oct 2010 03:09:55 +0000 (03:09 +0000)]
Major update of the MicroBlaze backend. The new features are:
1. A delay slot filler that searches for valid instructions
to fill the delay slot with. Previously NOPs would always
be inserted into delay slots.
2. Support for MC based instruction printer added.
3. Support for MC based machine code generation and ELF
file generation. ELF file generation does not yet
completely work as much of the ELF support infrastructure
is still x86/x86-64 specific.
4. General clean up of the MBlaze backend code. Much of the
tablegen code has been cleanup and simplified.
Bug Fixes:
1. Removed duplicate periods from subtarget feature descriptions.
2. Many of the instructions had bad machine code information
in the tablegen files. Much of this has been fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116986
91177308-0d34-0410-b5e6-
96231b3b80d8
Wesley Peck [Thu, 21 Oct 2010 02:52:59 +0000 (02:52 +0000)]
Adding the EM_MBLAZE value to the machine architectures enumeration to
support future ELF file generation by the MBlaze backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116985
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 21 Oct 2010 01:41:01 +0000 (01:41 +0000)]
X86: Add alloca probing to dynamic alloca on Windows. Fixes PR8424.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116984
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 21 Oct 2010 01:12:00 +0000 (01:12 +0000)]
Add missing scheduling itineraries for transfers between core registers and VFP registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116983
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 21 Oct 2010 00:48:00 +0000 (00:48 +0000)]
Implement correct encodings for NEON vadd, both integer and floating point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116981
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 21 Oct 2010 00:08:21 +0000 (00:08 +0000)]
CodeGen-Windows: Only emit _fltused if a VarArg function is called with floating point args.
This should be the minimum set of functions that could possibly need it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116978
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 21 Oct 2010 00:01:47 +0000 (00:01 +0000)]
Custom lower f64 args passed in integer registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116977
91177308-0d34-0410-b5e6-
96231b3b80d8