| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
be different for the same overrider in different parts of the vtable.
llvm-svn: 97068
|
| |
|
|
| |
llvm-svn: 97067
|
| |
|
|
| |
llvm-svn: 97066
|
| |
|
|
|
|
|
|
| |
greater-than-or-equal SELECT_CCs to NEON vmin/vmax instructions. This is
only allowed when UnsafeFPMath is set or when at least one of the operands
is known to be nonzero.
llvm-svn: 97065
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the number of value bits, not the number of bits of allocation for in-memory
storage.
Make getTypeStoreSize and getTypeAllocSize work consistently for arrays and
vectors.
Fix several places in CodeGen which compute offsets into in-memory vectors
to use TargetData information.
This fixes PR1784.
llvm-svn: 97064
|
| |
|
|
| |
llvm-svn: 97063
|
| |
|
|
| |
llvm-svn: 97062
|
| |
|
|
| |
llvm-svn: 97061
|
| |
|
|
|
|
|
|
| |
pseudo-destructor expression such as
p->T::~T()
llvm-svn: 97060
|
| |
|
|
|
|
| |
more elegant.
llvm-svn: 97059
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pseudo-destructor expressions, and builds the CXXPseudoDestructorExpr
node directly. Currently, this only affects pseudo-destructor
expressions when they are parsed, but not after template
instantiation. That's coming next...
Improve parsing of pseudo-destructor-names. When parsing the
nested-name-specifier and we hit the sequence of tokens X :: ~, query
the actual module to determine whether X is a type-name (in which case
the X :: is part of the pseudo-destructor-name but not the
nested-name-specifier) or not (in which case the X :: is part of the
nested-name-specifier).
llvm-svn: 97058
|
| |
|
|
| |
llvm-svn: 97057
|
| |
|
|
| |
llvm-svn: 97056
|
| |
|
|
|
|
|
| |
on non-darwin platforms. Fixes PR6411. Test case doesn't reduce,
unfortunately.
llvm-svn: 97055
|
| |
|
|
|
|
|
|
|
|
|
| |
Adding the function "lookupGCCName" to the MBlazeIntrinsicInfo
class to support the Clang MicroBlaze target.
Additionally, minor fixes which remove some unused PIC code
(PIC is not supported yet in the MicroBlaze backend) and
removed some unused variables.
llvm-svn: 97054
|
| |
|
|
|
|
| |
x86 table by 1200 bytes.
llvm-svn: 97053
|
| |
|
|
|
|
| |
A8.6.405
llvm-svn: 97052
|
| |
|
|
|
|
|
|
| |
movechild/record -> recordchild/movechild and
movechild/moveparent -> noop xforms. This slightly shrinks the tables
(x86 to 117454) and enables adding future improvements.
llvm-svn: 97051
|
| |
|
|
|
|
| |
didn't fold anything.
llvm-svn: 97049
|
| |
|
|
| |
llvm-svn: 97048
|
| |
|
|
| |
llvm-svn: 97047
|
| |
|
|
|
|
|
| |
<undef> operands, and can cause scavenger failures when it translates
<kill,undef> to <kill>.
llvm-svn: 97046
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
destructor calls, e.g.,
p->T::~T
We now detect when the member access that we've parsed, e.g.,
p-> or x.
may be a pseudo-destructor expression, either because the type of p or
x is a scalar or because it is dependent (and, therefore, may become a
scalar at template instantiation time).
We then parse the pseudo-destructor grammar specifically:
::[opt] nested-name-specifier[opt] type-name :: ∼ type-name
and hand those results to a new action, ActOnPseudoDestructorExpr,
which will cope with both dependent member accesses of destructors and
with pseudo-destructor expressions.
This commit affects the parsing of pseudo-destructors, only; the
semantic actions still go through the semantic actions for member
access expressions. That will change soon.
llvm-svn: 97045
|
| |
|
|
| |
llvm-svn: 97044
|
| |
|
|
| |
llvm-svn: 97042
|
| |
|
|
|
|
| |
the hopes of fixing PPC bootstrap.
llvm-svn: 97040
|
| |
|
|
|
|
| |
not a primary base in the complete class hierarchy.
llvm-svn: 97039
|
| |
|
|
|
|
| |
Fixes PR6373.
llvm-svn: 97037
|
| |
|
|
| |
llvm-svn: 97036
|
| |
|
|
| |
llvm-svn: 97035
|
| |
|
|
| |
llvm-svn: 97034
|
| |
|
|
|
|
|
|
| |
the old one around for comparative purposes: have the
ENABLE_NEW_ISEL #define (which is not enabled on mainline) stop
emitting the old isel at all, yay for build time win.
llvm-svn: 97033
|
| |
|
|
| |
llvm-svn: 97032
|
| |
|
|
|
|
|
|
| |
the new isel: fold movechild+record+moveparent into a
single recordchild N node. This shrinks the X86 table
from 125443 to 117502 bytes.
llvm-svn: 97031
|
| |
|
|
|
|
|
|
|
|
|
| |
a common source of oddities and, in theory, removes some redundant ABI
computations. Also fixes a miscompile I introduced yesterday by refactoring
some code and causing a slightly different code path to be taken that
didn't perform *parameter* type canonicalization, just normal type
canonicalization; this in turn caused a bit of ABI code to misfire because
it was looking for 'double' or 'float' but received 'const float'.
llvm-svn: 97030
|
| |
|
|
|
|
|
| |
Also add an easy macro at the top of DAGISelEmitter.cpp to enable
it. Lets see if I can avoid accidentally turning it on :)
llvm-svn: 97029
|
| |
|
|
| |
llvm-svn: 97028
|
| |
|
|
|
|
| |
the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap.
llvm-svn: 97027
|
| |
|
|
|
|
|
|
|
|
|
| |
necessary to swap the operands to handle NaN and negative zero properly.
Also, reintroduce logic for checking for NaN conditions when forming
SSE min and max instructions, fixed to take into consideration NaNs and
negative zeros. This allows forming min and max instructions in more
cases.
llvm-svn: 97025
|
| |
|
|
| |
llvm-svn: 97024
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to adding them in a determinstic order (bottom up from
the root) based on the structure of the graph itself.
This updates tests for some random changes, interesting
bits: CodeGen/Blackfin/promote-logic.ll no longer crashes.
I have no idea why, but that's good right?
CodeGen/X86/2009-07-16-LoadFoldingBug.ll also fails, but
now compiles to have one fewer constant pool entry, making
the expected load that was being folded disappear. Since it
is an unreduced mass of gnast, I just removed it.
This fixes PR6370
llvm-svn: 97023
|
| |
|
|
| |
llvm-svn: 97022
|
| |
|
|
|
|
|
|
|
| |
internal nodes with flag results. Record these with a new
OPC_MarkFlagResults opcode and use this to update the interior
nodes' flag results properly. This fixes CodeGen/X86/i256-add.ll
with the new isel.
llvm-svn: 97021
|
| |
|
|
| |
llvm-svn: 97020
|
| |
|
|
| |
llvm-svn: 97019
|
| |
|
|
|
|
|
|
|
| |
memory from three or four registers and VST2 (multiple two-element structures)
which stores to memory from two double-spaced registers.
A8.6.391 & A8.6.393
llvm-svn: 97018
|
| |
|
|
|
|
| |
disassembler never recognizes InitReg instructions.
llvm-svn: 97017
|
| |
|
|
|
|
| |
Windows and Mac OS X. Will investigate later.
llvm-svn: 97016
|
| |
|
|
|
|
|
| |
apply it only to the function itself, and never to the return type. Fixes part
of PR6408.
llvm-svn: 97015
|
| |
|
|
|
|
| |
analysis needs this.
llvm-svn: 97014
|