| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
of the cached target machine.
llvm-svn: 211858
|
|
|
|
| |
llvm-svn: 211850
|
|
|
|
|
|
| |
Future patches will want to custom lower loads on SI.
llvm-svn: 211848
|
|
|
|
|
|
| |
file in preparation for the subtarget move.
llvm-svn: 211847
|
|
|
|
|
|
| |
Adjust the constructor accordingly.
llvm-svn: 211846
|
|
|
|
|
|
| |
be shorter and identical in goal.
llvm-svn: 211845
|
|
|
|
|
|
| |
update constructor accordingly.
llvm-svn: 211840
|
|
|
|
|
|
| |
that it's after.
llvm-svn: 211839
|
|
|
|
| |
llvm-svn: 211838
|
|
|
|
|
|
| |
prototype for the function to patch what we were returning).
llvm-svn: 211837
|
|
|
|
|
|
| |
the subtarget for the MSP430 target.
llvm-svn: 211836
|
|
|
|
|
|
|
|
| |
both MSP430InstrInfo and MSP430RegisterInfo. Remove unused member
variable StackAlign from MSP430RegisterInfo. Update constructors
accordingly.
llvm-svn: 211835
|
|
|
|
| |
llvm-svn: 211830
|
|
|
|
|
|
|
|
|
| |
For now I used a separate template for these sub-vector/tuple broadcasts
rather than sharing the mem variants with avx512_int_broadcast_rm.
<rdar://problem/17402869>
llvm-svn: 211828
|
|
|
|
|
|
|
| |
make the constructor more general since it only needs a target
machine.
llvm-svn: 211827
|
|
|
|
|
|
|
| |
than a target machine since it doesn't need anything past the
DataLayout.
llvm-svn: 211826
|
|
|
|
|
|
| |
machine to the subtarget.
llvm-svn: 211824
|
|
|
|
|
|
| |
target machine since that's all it needs.
llvm-svn: 211822
|
|
|
|
|
|
| |
but a normal TargetMachine and remove a few cached uses.
llvm-svn: 211821
|
|
|
|
| |
llvm-svn: 211820
|
|
|
|
|
|
| |
remove the unused constructor argument.
llvm-svn: 211819
|
|
|
|
|
|
| |
cache it on the target as well.
llvm-svn: 211818
|
|
|
|
| |
llvm-svn: 211817
|
|
|
|
|
|
|
|
|
|
| |
There is no need to calculate the liveness information for stackmaps. The
liveness information is still available for the patchpoint intrinsic and
that is also the intended usage model.
Related to <rdar://problem/17473725>
llvm-svn: 211816
|
|
|
|
|
|
| |
destruction the same way ELFObjectImage does.
llvm-svn: 211815
|
|
|
|
|
|
| |
Temporarily back out commits r211749, r211752 and r211754.
llvm-svn: 211814
|
|
|
|
|
|
|
|
| |
for the Sparc port. Use the same initializeSubtargetDependencies
function to handle initialization similar to the other ports to
handle dependencies.
llvm-svn: 211811
|
|
|
|
|
|
| |
that's all it needs.
llvm-svn: 211810
|
|
|
|
|
|
| |
lowering code.
llvm-svn: 211809
|
|
|
|
|
|
|
|
|
|
|
| |
If both instructions to be replaced are marked invariant the resulting
instruction is invariant.
rdar://13358910
Fix by Erik Eckstein!
llvm-svn: 211801
|
|
|
|
| |
llvm-svn: 211800
|
|
|
|
|
|
| |
rather than the target machine.
llvm-svn: 211799
|
|
|
|
|
|
| |
includes.
llvm-svn: 211798
|
|
|
|
|
|
|
|
| |
The default rounding mode to initialize the mode register needs
to be reported to the runtime. Fill in other bits a kernel
may be interested in setting for future use.
llvm-svn: 211791
|
|
|
|
|
|
| |
No functional change intended.
llvm-svn: 211783
|
|
|
|
|
|
| |
No functional change intended.
llvm-svn: 211782
|
|
|
|
| |
llvm-svn: 211781
|
|
|
|
|
|
|
| |
includes handling DIR_PWR8 where appropriate
The P7Model Itinerary is currently tied in for use under the P8Model, and will be updated later.
llvm-svn: 211779
|
|
|
|
|
|
|
|
|
|
| |
Additional compliant GAS names for coprocessor register name
are enabled for all instruction with parameter MCK_CoprocReg:
LDC,LDC2,STC,STC2,CDP,CDP2,MCR,MCR2,MCRR,MCRR2,MRC,MRC2,MRRC,MRRC2
Patch by Andrey Kuharev.
llvm-svn: 211776
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch teaches the backend how to canonicalize a shuffle vectors
according to the rule:
- (shuffle (FADD A, B), (FSUB A, B), Mask) ->
(shuffle (FSUB A, -B), (FADD A, -B), Mask)
Where 'Mask' is:
<0,5,2,7> ;; for v4f32 and v4f64 shuffles.
<0,3> ;; for v2f64 shuffles.
<0,9,2,11,4,13,6,15> ;; for v8f32 shuffles.
In general, ISel only knows how to pattern-match a canonical
'fadd + fsub + blendi' dag node sequence into an ADDSUB instruction.
This new rule allows to convert a non-canonical dag sequence into a
canonical one that will be matched by a single ADDSUB at ISel stage.
The idea of converting a non-canonical ADDSUB into a canonical one by
swapping the first two operands of the shuffle, and then negating the
second operand of the FADD and FSUB, was originally proposed by Hal Finkel.
llvm-svn: 211771
|
|
|
|
|
|
|
|
|
| |
which are now handled in SimplifyUsingDistributiveLaws()
(after r211261)
Differential Revision: http://reviews.llvm.org/D4253
llvm-svn: 211768
|
|
|
|
|
|
|
|
|
|
|
|
| |
subtraction (Part 2)
This patch enables transforms for
(x + (~(y | c) + 1) --> x - (y | c) if c is even
Differential Revision: http://reviews.llvm.org/D4209
llvm-svn: 211765
|
|
|
|
|
|
|
|
| |
Folding a reference to a thread_local variable into another global
variable's initializer is very problematic, there is no relocation that
exists to represent such an access.
llvm-svn: 211762
|
|
|
|
| |
llvm-svn: 211757
|
|
|
|
|
|
|
| |
This is a follow-up to r211331, which failed to notice that we were
returning early from ValidLookupTableConstant for GEPs.
llvm-svn: 211753
|
|
|
|
|
|
| |
Avoid strndup()
llvm-svn: 211752
|
|
|
|
|
|
|
|
| |
The *_alt defs for vcmp are used by the InstParser (the asm string in the main
def is used by the InstPrinter) . The former was accepting vector registers
as destination rather than mask registers.
llvm-svn: 211750
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
string_ostream is a safe and efficient string builder that combines opaque
stack storage with a built-in ostream interface.
small_string_ostream<bytes> additionally permits an explicit stack storage size
other than the default 128 bytes to be provided. Beyond that, storage is
transferred to the heap.
This convenient class can be used in most places an
std::string+raw_string_ostream pair or SmallString<>+raw_svector_ostream pair
would previously have been used, in order to guarantee consistent access
without byte truncation.
The patch also converts much of LLVM to use the new facility. These changes
include several probable bug fixes for truncated output, a programming error
that's no longer possible with the new interface.
llvm-svn: 211749
|
|
|
|
|
|
|
|
|
|
|
|
| |
PRIO_DARWIN_BG to the new thread if it is
set on the calling thread.
This allows libclang's indexing threads to propagate their priority to the clang module building threads.
rdar://17459872
llvm-svn: 211747
|
|
|
|
| |
llvm-svn: 211740
|