| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
initializer and we weren't storing the secondary virtual pointer indices.
llvm-svn: 99786
|
| |
|
|
|
|
| |
(as they already are in practise).
llvm-svn: 99785
|
| |
|
|
| |
llvm-svn: 99783
|
| |
|
|
| |
llvm-svn: 99778
|
| |
|
|
|
|
| |
pointer for all bases, even those without a vtable pointer :)
llvm-svn: 99777
|
| |
|
|
| |
llvm-svn: 99776
|
| |
|
|
|
|
| |
vtable pointer for non-virtual primary bases. We also do a pre-order traversal of the class hierarchy; this is necessary in order to get the right vbase offset offsets in base ctors/dtors.
llvm-svn: 99775
|
| |
|
|
| |
llvm-svn: 99774
|
| |
|
|
| |
llvm-svn: 99773
|
| |
|
|
| |
llvm-svn: 99772
|
| |
|
|
| |
llvm-svn: 99770
|
| |
|
|
|
|
|
|
|
| |
Otherwise, e.g. in the invocation like clang -DFOO=\"bar\" FOO macro
got the bar value, not "bar".
Patch by Alexander Esilevich!
llvm-svn: 99763
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
SELinux doesn't allow 'execmem', returning MAP_FAILED and 'Permission denied'
for mmap or RWX memory. In this case AllocateRWX was returning a MemoryBlock
with uninitialized fields, which sometimes caused crashes.
This patch initializes MemoryBlock fields to 0, so that the RWX-failure check
works.
It doesn't fix the SELinux 'execmem' issues though (the JIT will not work when
SELinux is in enforcing mode).
llvm-svn: 99762
|
| |
|
|
|
|
|
| |
where an incorrect number of operands is provided to an sdnode instead
of just a few cases.
llvm-svn: 99761
|
| |
|
|
| |
llvm-svn: 99760
|
| |
|
|
|
|
|
|
|
|
| |
and those derived from them. These are obnoxious because
they were written as: PatLeaf<(bitconvert). Not having an
argument was foiling adding better type checking for operand
count matching up with what was required (in this case,
bitconvert always requires an operand!)
llvm-svn: 99759
|
| |
|
|
|
|
| |
matchable: it seems like it would always constant fold.
llvm-svn: 99758
|
| |
|
|
|
|
|
| |
this also depends on the new "bitconvert dropping" behavior just
added to tblgen.
llvm-svn: 99757
|
| |
|
|
|
|
|
|
|
| |
transforming it into (add (i32 GPR), 4). This allows us to write type
generic multi patterns and have tblgen automatically drop the bitconvert
in the case when the types align. This allows us to fold an extra load
in the changed testcase.
llvm-svn: 99756
|
| |
|
|
| |
llvm-svn: 99755
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
patterns that would never match because of bitcast, and eliminating use
of vnot_conv.
llvm-svn: 99753
|
| |
|
|
| |
llvm-svn: 99752
|
| |
|
|
| |
llvm-svn: 99751
|
| |
|
|
| |
llvm-svn: 99750
|
| |
|
|
|
|
| |
*input* of other type, which is the VT.
llvm-svn: 99749
|
| |
|
|
| |
llvm-svn: 99748
|
| |
|
|
| |
llvm-svn: 99747
|
| |
|
|
|
|
| |
by rotating it.
llvm-svn: 99746
|
| |
|
|
| |
llvm-svn: 99745
|
| |
|
|
| |
llvm-svn: 99744
|
| |
|
|
| |
llvm-svn: 99743
|
| |
|
|
| |
llvm-svn: 99742
|
| |
|
|
|
|
| |
are cleaned up, we can remove an old fixme.
llvm-svn: 99741
|
| |
|
|
|
|
|
| |
1, 1 cases which are by-far the most frequent. This shrinks the X86
isel table from 77014 -> 74657 bytes.
llvm-svn: 99740
|
| |
|
|
|
|
|
| |
can cause a crash on crazy situations in msp430 when morph-node-to
is disabled.
llvm-svn: 99739
|
| |
|
|
|
|
| |
their flags correctly.
llvm-svn: 99738
|
| |
|
|
| |
llvm-svn: 99737
|
| |
|
|
|
|
| |
nodes all have an EFLAGS result when made by isel lowering.
llvm-svn: 99736
|
| |
|
|
|
|
| |
list multiple times when MorphNodeTo can't be applied.
llvm-svn: 99735
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
check deduced non-type template arguments and template template
arguments against the template parameters for which they were deduced,
performing conversions as appropriate so that deduced template
arguments get the same treatment as explicitly-specified template
arguments. This is the bulk of PR6723.
Also keep track of whether deduction of a non-type template argument
came from an array bound (vs. anywhere else). With this information,
we enforce C++ [temp.deduct.type]p17, which requires exact type
matches when deduction deduces a non-type template argument from
something that is not an array bound.
Finally, when in a SFINAE context, translate the "zero sized
arrays are an extension" extension diagnostic into a hard error (for
better standard conformance), which was a minor part of PR6723.
llvm-svn: 99734
|
| |
|
|
|
|
|
|
| |
Type::destroy(), so it got skipped for FunctionTypes, StructTypes, and
UnionTypes. This fixes the resulting leaks in test/Feature/opaquetypes.ll and
test/Integer/opaquetypes_bt.ll.
llvm-svn: 99732
|
| |
|
|
| |
llvm-svn: 99731
|
| |
|
|
|
|
| |
whose protocolls methods needs implementation.
llvm-svn: 99730
|
| |
|
|
| |
llvm-svn: 99729
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
issues to get here. We now trim the result type list of the
CompleteMatch or MorphNodeTo operation to be the same size as the
thing we're matching. this means that if you match (add GPR, GPR)
with an instruction that produces a normal result and a flag that
we now trim the result in tblgen instead of having to do it
dynamically. This exposed a bunch of inconsistencies in result
counting that happened to be getting lucky since the days of the
old isel.
llvm-svn: 99728
|
| |
|
|
|
|
|
|
| |
same vt multiple times for a register. For example,
ECX is in 5 different i32 reg classes, just return
1 i32 instead of 5.
llvm-svn: 99727
|
| |
|
|
|
|
|
|
|
| |
from two places in CodeGenDAGPatterns.cpp, and
use it in DAGISelMatcherGen.cpp instead of using
an incorrect predicate that happened to get lucky
on our current targets.
llvm-svn: 99726
|
| |
|
|
|
|
|
|
| |
results forward. We can now handle an instruction that
produces one implicit def and one result instead of one or
the other when not at the root of the pattern.
llvm-svn: 99725
|
| |
|
|
|
|
|
|
| |
of objc classes; including which methods
need be implemented and where they come from.
WIP.
llvm-svn: 99724
|