1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib
Ulrich Weigand d9b4cff835 [PowerPC] Add assembler parser
This adds assembler parser support to the PowerPC back end.

The parser will run for any powerpc-*-* and powerpc64-*-* triples,
but was tested only on 64-bit Linux.  The supported syntax is
intended to be compatible with the GNU assembler.

The parser does not yet support all PowerPC instructions, but
it does support anything that is generated by LLVM itself.
There is no support for testing restricted instruction sets yet,
i.e. the parser will always accept any instructions it knows,
no matter what feature flags are given.

Instruction operands will be checked for validity and errors
generated.  (Error handling in general could still be improved.)

The patch adds a number of test cases to verify instruction
and operand encodings.  The tests currently cover all instructions
from the following PowerPC ISA v2.06 Book I facilities:
Branch, Fixed-point, Floating-Point, and Vector. 
Note that a number of these instructions are not yet supported
by the back end; they are marked with FIXME.

A number of follow-on check-ins will add extra features.  When
they are all included, LLVM passes all tests (including bootstrap)
when using clang -cc1as as the system assembler.

llvm-svn: 181050
2013-05-03 19:49:39 +00:00
..
Analysis RegionInfo: Do not crash if unreachable block is found 2013-05-03 15:48:34 +00:00
Archive Fix auto_ptr is deprecated warnings 2013-02-26 21:20:35 +00:00
AsmParser Fix for PR 14965: Better error message for GEP with partially defined contents 2013-04-22 17:03:42 +00:00
Bitcode This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
CodeGen TiedTo flag can now be placed on implicit operands. isTwoAddrUse() should look 2013-05-02 02:07:32 +00:00
DebugInfo Clarify getRelocationAddress x getRelocationOffset a bit. 2013-04-25 12:28:45 +00:00
ExecutionEngine [SystemZ] Add MCJIT support 2013-05-03 14:15:35 +00:00
IR This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
IRReader Measure time that IR parsing took as part of the -time-passes measurement. 2013-04-03 15:33:45 +00:00
Linker This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
MC Fix section relocation for SECTIONREL32 with immediate offset. 2013-04-25 19:27:05 +00:00
Object This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
Option
Support [SystemZ] Support System Z as host architecture 2013-05-03 12:22:11 +00:00
TableGen Allow TableGen DAG arguments to be just a name. 2013-03-24 19:36:51 +00:00
Target [PowerPC] Add assembler parser 2013-05-03 19:49:39 +00:00
Transforms Decompose GVN::processNonLocalLoad() (about 400 LOC) into smaller helper functions. No function change. 2013-05-03 19:17:26 +00:00
CMakeLists.txt Split out the IRReader header and the utility functions it provides into 2013-03-26 02:25:37 +00:00
LLVMBuild.txt Split out the IRReader header and the utility functions it provides into 2013-03-26 02:25:37 +00:00
Makefile Split out the IRReader header and the utility functions it provides into 2013-03-26 02:25:37 +00:00