| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 100342
|
| |
|
|
|
|
| |
enough to warrant caching in AsmPrinter, so remove it.
llvm-svn: 100336
|
| |
|
|
|
|
|
|
|
|
| |
"asm printering" happens through MCStreamer. This also
Streamerizes PIC16 debug info, which escaped my attention.
This removes a leak from LLVMTargetMachine of the 'legacy'
output stream.
llvm-svn: 100327
|
| |
|
|
|
|
| |
don't have mcstreamer support for yet.
llvm-svn: 100319
|
| |
|
|
|
|
|
| |
implementations to use EmitRawText instead of writing
directly to "O".
llvm-svn: 100318
|
| |
|
|
|
|
| |
raw_ostream to print to.
llvm-svn: 100313
|
| |
|
|
|
|
|
|
| |
raw_ostream to print an instruction to had to be specified
at MCInstPrinter construction time instead of being able
to pick at each call to printInstruction.
llvm-svn: 100307
|
| |
|
|
|
|
| |
member of AsmPrinter. Instead, pass it in explicitly.
llvm-svn: 100306
|
| |
|
|
|
|
|
| |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
llvm-svn: 100304
|
| |
|
|
|
|
| |
of printOffset to pass in a stream to print to.
llvm-svn: 100296
|
| |
|
|
|
|
|
| |
abstraction it brings. And also get rid of the atexit() handler, it does not
belong in the lib directory. :-)
llvm-svn: 100265
|
| |
|
|
| |
llvm-svn: 100259
|
| |
|
|
|
|
| |
occuplied by the cached ARMAlgorithm objects.
llvm-svn: 100258
|
| |
|
|
| |
llvm-svn: 100251
|
| |
|
|
|
|
|
|
|
|
| |
backend (ARMDecoderEmitter) which emits the decoder functions for ARM and Thumb,
and the disassembler core which invokes the decoder function and builds up the
MCInst based on the decoded Opcode.
Reviewed by Chris Latter and Bob Wilson.
llvm-svn: 100233
|
| |
|
|
|
|
| |
to the ARM AsmParser.
llvm-svn: 100232
|
| |
|
|
| |
llvm-svn: 100214
|
| |
|
|
| |
llvm-svn: 100199
|
| |
|
|
|
|
|
| |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
llvm-svn: 100191
|
| |
|
|
|
|
|
| |
folder to be tolerant of debug info following the
branch(es) at the end of a block.
llvm-svn: 100168
|
| |
|
|
| |
llvm-svn: 100066
|
| |
|
|
| |
llvm-svn: 100031
|
| |
|
|
| |
llvm-svn: 99948
|
| |
|
|
|
|
|
|
|
| |
memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
A update of langref will occur in a subsequent checkin.
llvm-svn: 99928
|
| |
|
|
|
|
|
|
|
| |
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902
|
| |
|
|
| |
llvm-svn: 99815
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
These instructions use byte index in a control vector (M:Vm) to lookup byte
values in a table and generate a new vector (D:Vd). The table is specified via
a list of vectors, which can be:
{Dn}
{Dn D<n+1>}
{Dn D<n+1> D<n+2>}
{Dn D<n+1> D<n+2> D<n+3>}
llvm-svn: 99789
|
| |
|
|
|
|
|
| |
this also depends on the new "bitconvert dropping" behavior just
added to tblgen.
llvm-svn: 99757
|
| |
|
|
|
|
|
|
|
| |
input to be v8i8 or v16i8, which buildvectors get canonicalized to.
This allows the patterns that were previously using a bare 'vnot' to
match, before they couldn't.
llvm-svn: 99754
|
| |
|
|
| |
llvm-svn: 99705
|
| |
|
|
| |
llvm-svn: 99704
|
| |
|
|
|
|
|
|
|
|
|
|
| |
it as the format for the appropriate N3V*SL*<> classes. These instructions
require special handling of the M:Vm field which encodes the restricted Dm and
the lane index within Dm.
Examples are A8.6.325 VMLA, VMLAL, VMLS, VMLSL (by scalar):
vmlal.s32 q3, d2, d10[0]
llvm-svn: 99690
|
| |
|
|
|
|
|
| |
through to the generic version. The generic functions use STR/LDR, but T2
needs the t2STR/t2LDR instead so we get the addressing mode correct.
llvm-svn: 99678
|
| |
|
|
|
|
|
| |
to now take a format argument. N3VDInt<> and N3VQInt<> are modified to take a
format argument as well.
llvm-svn: 99676
|
| |
|
|
|
|
|
|
|
| |
to encode the byte location of the extracted result in the concatenation of the
operands, from the least significant end.
Modify VEXTd and VEXTq classes to use the format.
llvm-svn: 99659
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
follow the N3RegFrm's operand order of D:Vd N:Vn M:Vm. The operand order of
N3RegVShFrm is D:Vd M:Vm N:Vn (notice that M:Vm is the first src operand).
Add a parent class N3Vf which requires passing a Format argument and which the
N3V class is modified to inherit from. N3V class represents the "normal"
3-Register NEON Instructions with N3RegFrm.
Also add a multiclass N3VSh_QHSD to represent clusters of NEON 3-Register Shift
Instructions and replace 8 invocations with it.
llvm-svn: 99655
|
| |
|
|
|
|
| |
Radar 7797856
llvm-svn: 99630
|
| |
|
|
|
|
|
| |
Examples are VABA (Vector Absolute Difference and Accumulate), VABAL (Vector
Absolute Difference and Accumulate Long), and VABD (Vector Absolute Difference).
llvm-svn: 99628
|
| |
|
|
|
|
|
|
|
|
|
| |
dispatch to the appropriate routines to handle the different interpretations of
the shift amount encoded in the imm6 field. The Vd, Vm fields are interpreted
the same between the two, though.
See, for example, A8.6.367 VQSHL, VQSHLU (immediate) for N2RegVShLFrm format and
A8.6.368 VQSHRN, VQSHRUN for N2RegVShRFrm format.
llvm-svn: 99590
|
| |
|
|
|
|
| |
Re-commit. This time complete with testsuite updates.
llvm-svn: 99570
|
| |
|
|
| |
llvm-svn: 99569
|
| |
|
|
| |
llvm-svn: 99568
|
| |
|
|
|
|
| |
It doesn't seem to be used anywhere.
llvm-svn: 99566
|
| |
|
|
| |
llvm-svn: 99565
|
| |
|
|
| |
llvm-svn: 99557
|
| |
|
|
| |
llvm-svn: 99549
|
| |
|
|
|
|
| |
expect a Format arg. N2VCvtD/N2VCvtQ are modified to use the NVCVTFrm format.
llvm-svn: 99548
|
| |
|
|
|
|
|
| |
instead of the current N2V. Format of NVDupLane instances are set to NEONFrm
currently.
llvm-svn: 99518
|
| |
|
|
|
|
|
| |
Preliminary testing shows significant performance wins by not using these
instructions.
llvm-svn: 99436
|
| |
|
|
| |
llvm-svn: 99428
|