Commit Graph

66170 Commits

Author SHA1 Message Date
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
Dan Gohman 2e20dfb0f2 Fix a case where instcombine was stripping metadata (and alignment)
from stores when folding in bitcasts.

llvm-svn: 117265
2010-10-25 16:16:27 +00:00
Charles Davis 22fe18625d 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.

llvm-svn: 117264
2010-10-25 15:37:09 +00:00
Tobias Grosser b0f4757fe6 Reference RegionPass to stop it being eliminated.
Contributed by: ether

llvm-svn: 117263
2010-10-25 15:36:50 +00:00
Duncan Sands 08745f5483 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.

llvm-svn: 117262
2010-10-25 13:10:03 +00:00
Duncan Sands 1be7dac8fd 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.

llvm-svn: 117260
2010-10-25 12:47:22 +00:00
Kalle Raiskila 829b21fb02 Update target feature matrix for CellSPU
llvm-svn: 117255
2010-10-25 08:57:30 +00:00
Jakob Stoklund Olesen c7932d3ac6 Update target feature matrix for Blackfin.
llvm-svn: 117245
2010-10-24 20:04:05 +00:00
Wesley Peck 188deadf88 Updating target feature matrix to indicate current MBlaze status.
llvm-svn: 117244
2010-10-24 18:50:12 +00:00
Rafael Espindola 800fd3533c Add X86::reloc_global_offset_table and use it to have a single place where
we check for _GLOBAL_OFFSET_TABLE_.

llvm-svn: 117241
2010-10-24 17:35:42 +00:00
Chris Lattner 60616b1e54 broken link
llvm-svn: 117232
2010-10-24 16:24:22 +00:00
Chris Lattner 5427f745b5 add a big table with target features.
llvm-svn: 117230
2010-10-24 16:18:00 +00:00
Duncan Sands 31c803b2ba 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.

llvm-svn: 117224
2010-10-24 12:23:30 +00:00
Owen Anderson 358900d569 Add tests for NEON encoding of vqsub.
llvm-svn: 117214
2010-10-23 18:02:16 +00:00
Benjamin Kramer 76229bc128 SmallVectorize.
llvm-svn: 117213
2010-10-23 17:10:24 +00:00
Eric Christopher c9616f26bd Move rejection of NEON parameters earlier in fast isel call processing,
note that we can actually handle some f64 arguments.

llvm-svn: 117209
2010-10-23 09:37:17 +00:00
Benjamin Kramer 34402c4fe4 Constify another 2 disassembler tables.
llvm-svn: 117208
2010-10-23 09:28:42 +00:00
Benjamin Kramer de0a4fbf3b Make the disassembler tables const so they end up in read-only memory.
llvm-svn: 117206
2010-10-23 09:10:44 +00:00
Michael J. Spencer aa19ee17c0 X86: Emit _fltused instead of __fltused on Windows x64.
llvm-svn: 117205
2010-10-23 09:06:59 +00:00
Chandler Carruth 82058c05f8 Move the remaining attribute macros to systematic names based on the attribute
name and prefixed with 'LLVM_'.

llvm-svn: 117203
2010-10-23 08:40:19 +00:00
Chandler Carruth 9873c9039e Remove a define which is never referenced.
llvm-svn: 117202
2010-10-23 08:25:16 +00:00
Chandler Carruth 88c54b82c1 Switch attribute macros to use 'LLVM_' as a prefix. We retain the old names
until other LLVM projects using these are cleaned up.

llvm-svn: 117200
2010-10-23 08:10:43 +00:00
Chandler Carruth 9733158bfd Fix a likely bug in an assertion by adding parentheses around '||'. This bug
was found by a GCC warning. ;]

llvm-svn: 117199
2010-10-23 07:46:14 +00:00
Mikhail Glushenkov e08108af9b Resurrect mcc16, it is useful as an example.
llvm-svn: 117198
2010-10-23 07:33:02 +00:00
Mikhail Glushenkov f4a6809231 Remove -llvmc-temp-hack from tblgen.
llvm-svn: 117197
2010-10-23 07:32:53 +00:00
Mikhail Glushenkov e9b78186d4 Syntax tweak in llvmc: (something [a,b,c]) -> (something a, b, c).
llvm-svn: 117196
2010-10-23 07:32:46 +00:00
Mikhail Glushenkov de68389cd3 Trailing whitespace.
llvm-svn: 117195
2010-10-23 07:32:37 +00:00
Evan Cheng 817bbac4f7 Enable ARM fastcc.
llvm-svn: 117194
2010-10-23 02:19:37 +00:00
Evan Cheng 15459b695f 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.

llvm-svn: 117193
2010-10-23 02:10:46 +00:00
Evan Cheng ad79526471 Latency between CPSR def and branch is zero.
llvm-svn: 117192
2010-10-23 02:04:38 +00:00
Jakob Stoklund Olesen 8a09620dc2 Verify LiveIntervals against the CFG, ensuring that live-in values are live-out
of all predecessors.

llvm-svn: 117191
2010-10-23 00:49:09 +00:00
Owen Anderson 92644efaf8 Add tests for NEON encoding of vhsub.
llvm-svn: 117189
2010-10-22 23:58:22 +00:00
Jim Grosbach 696fe9d36c Trailing whitespace.
llvm-svn: 117188
2010-10-22 23:48:29 +00:00
Jim Grosbach 0ce06c08fb Add a CMP test.
llvm-svn: 117187
2010-10-22 23:48:01 +00:00
Owen Anderson f4e1a09d38 Add tests for NEON encoding of vsubw.
llvm-svn: 117186
2010-10-22 23:46:07 +00:00
Jim Grosbach 4663dc72e2 tidy up
llvm-svn: 117185
2010-10-22 23:46:04 +00:00
Owen Anderson 9ef5c507ce Add tests for NEON encoding of vsubl.
llvm-svn: 117183
2010-10-22 23:36:36 +00:00
Andrew Trick e8719c51aa Nonvirtual dtor that was accessible enough to be bad.
llvm-svn: 117180
2010-10-22 23:33:19 +00:00
Owen Anderson c372775cc8 Add tests for NEON encoding of vsub.
llvm-svn: 117177
2010-10-22 23:21:04 +00:00
Gabor Greif b171ca0a47 fix memory-layout assumption which only holds on little-endian systems
llvm-svn: 117176
2010-10-22 23:16:11 +00:00
Andrew Trick 1c24605a57 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.

llvm-svn: 117174
2010-10-22 23:09:15 +00:00
Owen Anderson cb5c1b75fe Add tests for NEON encoding of vqdmlsl.
llvm-svn: 117173
2010-10-22 23:08:47 +00:00
Bob Wilson dbb77154dc Do not install libBugpointPasses.dylib for Apple builds. Radar 8585383.
llvm-svn: 117172
2010-10-22 23:04:17 +00:00
Owen Anderson d655a80774 Add tests for NEON encoding of vmlsl.
llvm-svn: 117171
2010-10-22 23:02:27 +00:00
Jakob Stoklund Olesen 0fb303d3c0 Add more verification of LiveIntervals.
llvm-svn: 117170
2010-10-22 22:48:58 +00:00
Jakob Stoklund Olesen 4cf8fe31bb 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.

llvm-svn: 117169
2010-10-22 22:48:56 +00:00
Jim Grosbach b40a60fa2f tidy up.
llvm-svn: 117166
2010-10-22 22:15:48 +00:00
Jim Grosbach 2c9ae05c67 ARM mode encoding information for CLZ, RBIT, REV*, and PKH*.
llvm-svn: 117165
2010-10-22 22:12:16 +00:00
Bob Wilson 1eaa381789 Fix the name of libLLVMHello.dylib so that it does not get installed for
Apple builds.  Radar 8585383.

llvm-svn: 117164
2010-10-22 22:10:57 +00:00
Jim Grosbach 3565b0a2e2 Remove duplicate test.
llvm-svn: 117158
2010-10-22 22:04:28 +00:00
Jim Grosbach 6d993fa1a6 tidy up.
llvm-svn: 117157
2010-10-22 22:01:56 +00:00
Jim Grosbach db7415075d FileCheck-ize a few tests.
llvm-svn: 117156
2010-10-22 21:55:03 +00:00
Evan Cheng 21eedfb5a2 Unbreak build.
llvm-svn: 117155
2010-10-22 21:49:09 +00:00
Bob Wilson a4e231c880 Teach instcombine to set the alignment arguments for NEON load/store intrinsics.
llvm-svn: 117154
2010-10-22 21:41:48 +00:00
Evan Cheng 77a38320c7 Transfer implicit ops when forming load multiple and return instructions.
llvm-svn: 117151
2010-10-22 21:29:58 +00:00
Owen Anderson 3c4f72c9f8 Add tests for the correct encoding of NEON vmls.
llvm-svn: 117145
2010-10-22 20:31:24 +00:00
Jakob Stoklund Olesen 2d60075590 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.

llvm-svn: 117144
2010-10-22 20:28:23 +00:00
Jakob Stoklund Olesen 9a74301621 Add print methods
llvm-svn: 117143
2010-10-22 20:28:21 +00:00
Owen Anderson 9d0122af7d Add correct NEON encodings for vqdmlal.
llvm-svn: 117134
2010-10-22 19:35:48 +00:00
Jim Grosbach 2b80543fc2 Add the encoding information for the rest of the ARM mode multiply instructions.
llvm-svn: 117133
2010-10-22 19:15:30 +00:00
Michael J. Spencer e08dbb4a5b I hate line endings.
llvm-svn: 117132
2010-10-22 19:14:39 +00:00
Owen Anderson 3d0264667f Provide correct encodings for NEON vmlal.
llvm-svn: 117131
2010-10-22 19:05:25 +00:00
Oscar Fuentes ff11a23ef3 Loadable modules are not supported on Cygwin. PR 6655.
llvm-svn: 117130
2010-10-22 19:03:24 +00:00
Evan Cheng 21abfc9450 Silence compiler warnings.
llvm-svn: 117128
2010-10-22 18:57:05 +00:00
Owen Anderson f48719f1b5 Provide correct NEON encodings for vmla.
llvm-svn: 117126
2010-10-22 18:54:37 +00:00
Michael J. Spencer 46ea135ea7 Endian: Get rid of LLVM_IS_HOST_BIG_ENDIAN.
llvm-svn: 117124
2010-10-22 18:45:12 +00:00
Stuart Hastings a8c4143bf6 Temporarily revert r117079; it broke a tester. Radar 6635085.
llvm-svn: 117122
2010-10-22 18:44:22 +00:00
Jim Grosbach 6956a60563 More ARM multiply instuction binary encodings.
llvm-svn: 117121
2010-10-22 18:35:16 +00:00
Evan Cheng 08dd8c8295 Add fastcc cc: pass and return VFP / NEON values in registers. Controlled by -arm-fastcc for now.
llvm-svn: 117119
2010-10-22 18:23:05 +00:00
Owen Anderson f6659997a1 Add testscases for encoding of NEON vdqmull.
llvm-svn: 117115
2010-10-22 17:57:37 +00:00
Jim Grosbach f98df0849f Parameterize a bit of ARM encoding information, simplifying some instruction
definitions.

llvm-svn: 117114
2010-10-22 17:42:06 +00:00
Oscar Fuentes a522175a90 Avoid stalled file dependency when tablegenning.
Patch by Frits van Bommel!

llvm-svn: 117113
2010-10-22 17:37:42 +00:00
Benjamin Kramer 9192e7ab12 Make some symbols static, move classes into anonymous namespaces.
llvm-svn: 117111
2010-10-22 17:35:07 +00:00
Oscar Fuentes 26b1d20b98 Don't try to guess svn version when current path is a symlink.
See PR 8473.

llvm-svn: 117109
2010-10-22 17:16:26 +00:00
Jim Grosbach 22261600a8 More ARM multiply instruction encoding information.
llvm-svn: 117108
2010-10-22 17:16:17 +00:00
Oscar Fuentes 861e51a244 Teach CMake to only touch tablegen-generated files if anything
actually changed.

Patch by Frits van Bommel!

llvm-svn: 117102
2010-10-22 16:20:10 +00:00
Wesley Peck 1851090515 Making the e_machine configurable by the target backend in ELFObjectWriter.
llvm-svn: 117099
2010-10-22 15:52:49 +00:00
NAKAMURA Takumi 1530487cb1 lli: On Cygwin-1.5, lli crashes at invoking destructors in atexit handler.
llvm-svn: 117095
2010-10-22 14:53:59 +00:00
Peter Collingbourne a92b66ec47 Standardise all build-mode affecting {EN,DIS}ABLE_* make options to
test equality to 1, and fix/update documentation to reflect this

llvm-svn: 117094
2010-10-22 12:54:34 +00:00
NAKAMURA Takumi c7e0dcf13f test/Makefile: Force lit -j1 on Cygwin.
lit -jN causes crash on Cygwin's python.

llvm-svn: 117093
2010-10-22 09:40:37 +00:00
Michael J. Spencer f572e3fc4c Rename LLVM_IS_TARGET_BIG_ENDIAN to LLVM_IS_HOST_BIG_ENDIAN to reflect what it actually means.
llvm-svn: 117092
2010-10-22 08:47:28 +00:00
Andrew Trick edd006c1c3 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.

llvm-svn: 117087
2010-10-22 03:58:29 +00:00
Eric Christopher 93bbe6599f Add some basic ret instruction support to arm fast-isel.
llvm-svn: 117085
2010-10-22 01:28:00 +00:00
Sean Callanan 9f6c622f88 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 3f688b92a9 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 e2ec62e252 ARM binary encoding for some of the multiply instructions.
llvm-svn: 117080
2010-10-21 22:52:30 +00:00
Stuart Hastings cdc55bc680 Test case for r117075. Radar 6635085.
llvm-svn: 117079
2010-10-21 22:43:32 +00:00
Owen Anderson 28418de7ee Add tests for NEON encoding of vmull.
llvm-svn: 117077
2010-10-21 22:19:53 +00:00
Jim Grosbach a97becfaac ARM binary encodings for MVN variants.
llvm-svn: 117076
2010-10-21 22:19:32 +00:00
Owen Anderson 22c940c9ab Add tests for NEON encoding of vqdmulh and vqrdmulh.
llvm-svn: 117074
2010-10-21 22:05:33 +00:00
Jim Grosbach 90600d3329 Trailing whitespace.
llvm-svn: 117073
2010-10-21 22:04:05 +00:00
Jim Grosbach 5edb03ee57 ARM Binary encoding information for BFC/BFI instructions.
llvm-svn: 117072
2010-10-21 22:03:21 +00:00
Dan Gohman 8512270dbc Add some more documentation.
llvm-svn: 117070
2010-10-21 21:55:35 +00:00
Owen Anderson eff79f13a6 Add tests for NEON vmul encoding.
llvm-svn: 117069
2010-10-21 21:51:58 +00:00
Eric Christopher 2f8637d393 These don't need to be virtual.
llvm-svn: 117068
2010-10-21 21:47:51 +00:00
Owen Anderson 6e1cf114f9 Rename this test to better reflect its contents.
llvm-svn: 117067
2010-10-21 21:40:15 +00:00
Tobias Grosser 5f038210cf Fix type in passes.
llvm-svn: 117065
2010-10-21 21:16:03 +00:00
Owen Anderson c47913acd2 Add tests for NEON encodings of vaddhn and vraddhn.
llvm-svn: 117064
2010-10-21 20:56:57 +00:00
Michael J. Spencer 31041a9967 Fix Warnings.
llvm-svn: 117062
2010-10-21 20:49:38 +00:00
Michael J. Spencer 0e36e0340a 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 2bfa8ed045 Move the encoding logic for Q registers into getMachineOpValue().
llvm-svn: 117060
2010-10-21 20:49:13 +00:00
Owen Anderson d8be664273 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 f64d93df79 Trailing whitespace.
llvm-svn: 117058
2010-10-21 20:40:39 +00:00
Michael J. Spencer b550b66543 Support: Add Endian.h
llvm-svn: 117057
2010-10-21 20:28:21 +00:00
Owen Anderson 9e44cf2bb2 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 b353e4f579 Handle storing args to the stack for calls.
llvm-svn: 117055
2010-10-21 20:09:54 +00:00
Wesley Peck a7f6150c14 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 12c9e0cf1c Explain what "constant" means here.
llvm-svn: 117053
2010-10-21 19:45:09 +00:00
Eric Christopher 73bc5b0f86 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 d37f0715b1 trailing whitespace
llvm-svn: 117050
2010-10-21 19:38:40 +00:00
Dan Gohman 104f1812ce Update comments.
llvm-svn: 117048
2010-10-21 19:01:22 +00:00
Owen Anderson 6b7e401049 Add correct NEON encodings for vhadd and vrhadd.
llvm-svn: 117047
2010-10-21 18:55:04 +00:00
Jakob Stoklund Olesen f4bbe50fc3 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 7c9d584ebc 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 9561084188 Add correct encodings for NEON vaddw.s* and vaddw.u*.
llvm-svn: 117040
2010-10-21 18:20:25 +00:00
Owen Anderson 15c97706e8 Provide correct NEON encodings for vaddl.u* and vaddl.s*.
llvm-svn: 117039
2010-10-21 18:09:17 +00:00
Rafael Espindola 8ba86f801d 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 0138a05557 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 4c5c858d78 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 b014abf3ef 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 94da154558 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 2f16b91ce0 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 ee4eb2bad1 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 1f0d37e892 Add parentheses to pacify gcc, which warns otherwise.
llvm-svn: 117020
2010-10-21 16:02:12 +00:00
Duncan Sands a11e9827b1 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 abc7901e4e 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 2a7d269a2b Fix whitespace.
llvm-svn: 117002
2010-10-21 06:25:08 +00:00
Wesley Peck f7ecd9e8bb Removing stale AsmPrinter directory from MicroBlaze backend.
llvm-svn: 116998
2010-10-21 05:05:06 +00:00
Oscar Fuentes 3e79a47a7a 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 c16f77fb27 Recommit 116986 with capitalization typo fixed.
llvm-svn: 116993
2010-10-21 03:57:26 +00:00
Andrew Trick f4ebec03e0 putback r116983 and fix simple-fp-encoding.ll tests
llvm-svn: 116992
2010-10-21 03:40:16 +00:00
Wesley Peck 078db00f1d 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
Owen Anderson 9e00f27e14 Revert r116983, which is breaking all the buildbots.
llvm-svn: 116987
2010-10-21 03:11:16 +00:00
Wesley Peck f608ac4db9 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.

llvm-svn: 116986
2010-10-21 03:09:55 +00:00
Wesley Peck 612703a831 Adding the EM_MBLAZE value to the machine architectures enumeration to
support future ELF file generation by the MBlaze backend.

llvm-svn: 116985
2010-10-21 02:52:59 +00:00
Michael J. Spencer f509c6ca27 X86: Add alloca probing to dynamic alloca on Windows. Fixes PR8424.
llvm-svn: 116984
2010-10-21 01:41:01 +00:00
Evan Cheng 15c2ac90ec Add missing scheduling itineraries for transfers between core registers and VFP registers.
llvm-svn: 116983
2010-10-21 01:12:00 +00:00
Owen Anderson 6083502848 Implement correct encodings for NEON vadd, both integer and floating point.
llvm-svn: 116981
2010-10-21 00:48:00 +00:00