1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
Commit Graph

50737 Commits

Author SHA1 Message Date
Anton Korobeynikov
218db4a01c Add lowering of ARM 4-element shuffles to multiple instructios via perfectshuffle-generated table.
llvm-svn: 79624
2009-08-21 12:41:24 +00:00
Anton Korobeynikov
838740d897 Add simple cost model to perfect shuffle. Currently we're doing just greedy search for cost instead of (proper) dynamic programming approach.
llvm-svn: 79623
2009-08-21 12:41:03 +00:00
Anton Korobeynikov
220512160d Add nodes & dummy matchers for some v{zip,uzp,trn} instructions
llvm-svn: 79622
2009-08-21 12:40:50 +00:00
Anton Korobeynikov
dccf7cb911 Expand EXTRACT_SUBVECTOR
llvm-svn: 79621
2009-08-21 12:40:35 +00:00
Anton Korobeynikov
f6657d5e02 Provide vext.{16,32}
llvm-svn: 79620
2009-08-21 12:40:21 +00:00
Anton Korobeynikov
a2e4bc2312 Use masks not nodes for vector shuffle predicates. Provide set of 'legal' masks, so legalizer won't infinite cycle
llvm-svn: 79619
2009-08-21 12:40:07 +00:00
Anton Korobeynikov
a60b360e7d Whitespace cleanup
llvm-svn: 79618
2009-08-21 12:39:38 +00:00
Benjamin Kramer
a9afa949a7 Update CMakeLists.
llvm-svn: 79617
2009-08-21 11:28:56 +00:00
Richard Pennington
2d2ff4d30e bug 4530: Make debug information static to it is preservered during bitcode linking.
llvm-svn: 79616
2009-08-21 11:10:31 +00:00
Andreas Neustifter
b11ab6b931 Added tests for Profiling Infrastructure.
llvm-svn: 79615
2009-08-21 09:36:28 +00:00
Bill Wendling
6f187b7ee9 Make for 32-bit only.
llvm-svn: 79614
2009-08-21 09:29:26 +00:00
Daniel Dunbar
7e81ff0f87 llvm-mc: Start MCAssembler and MCMachOStreamer.
- Together these form the (Mach-O) back end of the assembler.

 - MCAssembler is the actual assembler backend, which is designed to have a
   reasonable API. This will eventually grow to support multiple object file
   implementations, but for now its Mach-O/i386 only.

 - MCMachOStreamer adapts the MCStreamer "actions" API to the MCAssembler API,
   e.g. converting the various directives into fragments, managing state like
   the current section, and so on.

 - llvm-mc will use the new backend via '-filetype=obj', which may eventually
   be, but is not yet, since I hear that people like assemblers which actually
   assemble.

 - The only thing that works at the moment is changing sections. For the time
   being I have a Python Mach-O dumping tool in test/scripts so this stuff can
   be easily tested, eventually I expect to replace this with a real LLVM tool.

 - More doxyments to come.

I assume that since this stuff doesn't touch any of the things which are part of
2.6 that it is ok to put this in not so long before the freeze, but if someone
objects let me know, I can pull it.

llvm-svn: 79612
2009-08-21 09:11:24 +00:00
Daniel Dunbar
d59019f7c8 llvm-mc: Various section parsing fixes.
- Add missing flags for various Objective-C sections.

 - Fix names for [non_]lazy_symbol_pointer (these are misspelled in the manual).

 - .symbol_stub does not have the self modifying code flag set (this appears to
   be wrong in the manual?).

 - Add implicit alignment values; not yet used.

Also, call MCStreamer::Finish at the end of a successful parse.

llvm-svn: 79611
2009-08-21 08:34:18 +00:00
Bill Wendling
1df766abc3 Probably should emit bitcode instead of text.
llvm-svn: 79607
2009-08-21 08:02:19 +00:00
Daniel Dunbar
090d824f0e Don't install llvm-mc by default.
llvm-svn: 79604
2009-08-21 07:28:33 +00:00
Bill Wendling
cc546992dd Remove #include <iostream>.
llvm-svn: 79603
2009-08-21 06:52:44 +00:00
Erick Tryzelaar
e3280847cc Clean up the APInt function getDigit.
llvm-svn: 79602
2009-08-21 06:48:37 +00:00
Bill Wendling
e5dbd6b0f9 Correct for recent assert change.
llvm-svn: 79601
2009-08-21 06:35:41 +00:00
Bill Wendling
a6999a9051 Testcase for r79597.
llvm-svn: 79598
2009-08-21 06:12:30 +00:00
Eric Christopher
972db4c0d3 Update error messages for '+'. Fix grammar and make the two
negative checks resemble each other.

llvm-svn: 79595
2009-08-21 04:10:31 +00:00
Eric Christopher
8f257f5c7d Fix trailing whitespace and 80-col violation.
llvm-svn: 79594
2009-08-21 04:06:45 +00:00
Erick Tryzelaar
ff8b504eb3 Fix bug with APInt::getBitsNeeded with for base 10 numbers 0-9.
llvm-svn: 79593
2009-08-21 03:15:28 +00:00
Erick Tryzelaar
11660bb729 Allow '+' to appear in APInt strings, and add more unit tests.
llvm-svn: 79592
2009-08-21 03:15:14 +00:00
Bob Wilson
c046b62f1a Remove Neon intrinsics for VZIP, VUZP, and VTRN. We will represent these as
vector shuffles.  Temporarily remove the tests for these operations until the
new implementation is working.

llvm-svn: 79579
2009-08-21 00:01:42 +00:00
Owen Anderson
91de21580f Re-revert r79555. Apparently it's not just buildbot weirdness.
llvm-svn: 79578
2009-08-20 23:51:44 +00:00
Erick Tryzelaar
6bd69aaa86 Add support for including '+' in APFloat strings, more asserts,
and many new unit tests.

llvm-svn: 79574
2009-08-20 23:30:43 +00:00
Owen Anderson
277bc36265 Reapply r79555 for testing. Daniel's trying to work out some buildbot weirdnesss.
llvm-svn: 79572
2009-08-20 23:14:20 +00:00
Dale Johannesen
f6b2759c5e Use FileCheck even though this means testing for something
that has nothing to do with the point of the test, per Chris.

llvm-svn: 79569
2009-08-20 22:12:08 +00:00
Bill Wendling
c810ad4dc6 --- Reverse-merging r79555 into '.':
U    include/llvm/Target/TargetData.h
U    lib/Target/TargetData.cpp

Temporarily revert 79555. It was causing hangs and test failures.

llvm-svn: 79568
2009-08-20 22:04:42 +00:00
Bill Wendling
ee0f476fd4 Attempt to comment this code more.
llvm-svn: 79567
2009-08-20 22:02:24 +00:00
Daniel Dunbar
638e57db6e Suppress build warning in -Asserts
llvm-svn: 79564
2009-08-20 20:01:34 +00:00
Sanjiv Gupta
e1f6ce48bb part of the previous commit for PIC16 ISR implementation.
llvm-svn: 79563
2009-08-20 19:34:18 +00:00
Sanjiv Gupta
c5522596e7 Implement support for ISRs.
Clone functions that are shared between the Main thread and Interrupt thread.
CallSites are changed in AsmPrinter currently. A better solution would have been to modify the legalizer (SoftenFloat) to allow targets to change the name of libcalls for float operations. But that currently breaks other targets.
Also, cloing of automatic variables is done AsmPrinter, a better approach would
be to use the ValueMap in CloneFunction itself.

llvm-svn: 79562
2009-08-20 19:28:24 +00:00
Owen Anderson
9e7081dd58 Reduce contention on the Attributes lock by using atomic operations for reference counting rather than locking.
llvm-svn: 79560
2009-08-20 19:03:20 +00:00
Owen Anderson
8eba306123 Make the StructType->StructLayout table private to TargetData, allowing us to avoid locking on it.
llvm-svn: 79555
2009-08-20 18:26:03 +00:00
Sean Callanan
1e6749d2ab Fixed PCMPESTRM128 to have opcode 0x60 instead of 0x62, as specified by the
Intel documentation.

llvm-svn: 79554
2009-08-20 18:24:27 +00:00
Dan Gohman
f2f57ebc84 Fix an x86 code size regression: prefer RIP-relative addressing
over absolute addressing even in non-PIC mode (unless the address
has an index or something else incompatible), because it has a
smaller encoding.

llvm-svn: 79553
2009-08-20 18:23:44 +00:00
Dan Gohman
c39a6b16eb Add a comment explaining why llvm_unreachable_internal doesn't call
the ErrorHandler callback.

llvm-svn: 79541
2009-08-20 17:15:19 +00:00
Daniel Dunbar
9ad4b47cec Fix two APFloat bugs in converting hexadecimal constants.
llvm-svn: 79540
2009-08-20 17:12:33 +00:00
Dan Gohman
6ec8176e22 Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap
and hasNoSignedWrap, for consistency with the nuw and nsw properties.

llvm-svn: 79539
2009-08-20 17:11:38 +00:00
Dan Gohman
0a6e8a4bcd Clarify a few things in the inbounds description.
Describing inbounds in terms of infinitely precise arithmetic prohibits
the assumption address-space-sized integer arithmetic will wrap, with
a wrapped-around value landing within the same object.

llvm-svn: 79538
2009-08-20 17:08:17 +00:00
Misha Brukman
93431d032f Fixed header comment.
llvm-svn: 79536
2009-08-20 17:01:14 +00:00
Evan Cheng
86546fb692 Fix an obvious copy-n-paste bug.
llvm-svn: 79535
2009-08-20 17:01:04 +00:00
Dale Johannesen
facc542d5e Use FileCheck for the test run where it's appropriate.
llvm-svn: 79534
2009-08-20 16:58:04 +00:00
Dan Gohman
d9766dcb85 Various comment and whitespace cleanups.
llvm-svn: 79533
2009-08-20 16:42:55 +00:00
Dan Gohman
565d0c0f3b Update and fix some comments.
llvm-svn: 79532
2009-08-20 16:27:10 +00:00
Benjamin Kramer
8008f26afb Add myself to the blame list.
llvm-svn: 79531
2009-08-20 15:20:15 +00:00
Sandeep Patel
bf1263a423 Correct ARM v7-A architecture name spelling and add note about hard float.
llvm-svn: 79530
2009-08-20 15:01:16 +00:00
Daniel Dunbar
2e82bcd546 Don't try to build .bc version of libprofile if LLVMGCC isn't available.
llvm-svn: 79514
2009-08-20 05:12:55 +00:00
Erick Tryzelaar
d7e3c40ecb Rename FirstExtendedValueType to INVALID_SIMPLE_VALUE_TYPE
as that's a bit more descriptive of what we're testing for.

llvm-svn: 79513
2009-08-20 05:09:43 +00:00