| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
functions. This fixes <rdar://problem/6303488>.
llvm-svn: 57997
|
| |
|
|
|
|
|
|
| |
('NSUserDefaults *') is not a structure or union.
Teach Sema::ActOnMemberReferenceExpr() to look through local category implementations associated with the class.
llvm-svn: 57995
|
| |
|
|
| |
llvm-svn: 57993
|
| |
|
|
|
|
|
|
| |
don't have duplicated direct base classes.
Seriliazation of base class specifiers is not yet implemented.
llvm-svn: 57991
|
| |
|
|
| |
llvm-svn: 57990
|
| |
|
|
|
|
|
| |
- The old versions are still hanging around, but should be migrated
away from.
llvm-svn: 57989
|
| |
|
|
|
|
| |
Roman Divacky!
llvm-svn: 57988
|
| |
|
|
| |
llvm-svn: 57987
|
| |
|
|
| |
llvm-svn: 57984
|
| |
|
|
| |
llvm-svn: 57981
|
| |
|
|
|
|
|
|
|
| |
aren't trying to compare with address-space qualifiers (for now).
Clean up handing of DeclRefExprs in Expr::isLvalue and refactor part
of the check into a static DeclCanBeLvalue.
llvm-svn: 57980
|
| |
|
|
| |
llvm-svn: 57979
|
| |
|
|
|
|
|
|
|
|
|
|
| |
conversions (e.g., comparing int* -> const int* against
int* -> const volatile int*); see C++ 13.3.3.2p3 bullet 3.
Add Sema::UnwrapSimilarPointerTypes to simplify the control flow of
IsQualificationConversion and CompareQualificationConversion (and fix
the handling of the int* -> volatile int* conversion in the former).
llvm-svn: 57978
|
| |
|
|
| |
llvm-svn: 57977
|
| |
|
|
|
|
| |
some platforms.
llvm-svn: 57976
|
| |
|
|
| |
llvm-svn: 57975
|
| |
|
|
|
|
| |
autoconf/test machinery doesn't handle the period properly.
llvm-svn: 57974
|
| |
|
|
| |
llvm-svn: 57973
|
| |
|
|
|
|
|
|
|
| |
assume that i64 has been turned into a BUILD_PAIR
node (when called from LegalizeTypes this hasn't
happened yet) and don't use a vector shuffle mask
with an illegal element type.
llvm-svn: 57972
|
| |
|
|
| |
llvm-svn: 57971
|
| |
|
|
|
|
|
| |
-Bring in int64_t for TableGen/Record.h and TableGen/TGLexer.h
-Define strtoull
llvm-svn: 57970
|
| |
|
|
| |
llvm-svn: 57969
|
| |
|
|
|
|
|
|
|
|
|
|
| |
may return i8, which can result in SELECT nodes for
which the type of the condition is i8, but there are
no patterns for select with i8 condition. Tweak the
LegalizeTypes logic to avoid this as much as possible.
This isn't a real fix because it is still perfectly
possible to end up with such select nodes - CellSPU
needs to be fixed IMHO.
llvm-svn: 57968
|
| |
|
|
|
|
| |
ADDC/ADDE/SUBC/SUBE if the target supports it.
llvm-svn: 57967
|
| |
|
|
|
|
|
|
| |
that is not of type MVT::i1 in SELECT and SETCC nodes.
Relax the LegalizeTypes SELECT condition promotion
sanity checks to allow other condition types than i1.
llvm-svn: 57966
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to have a different type to the vector element
type. This should be fairly harmless because in
the past guys like this were being built all over
the place (and were cleaned up when I added this
check). The reason for relaxing this check is
that it helps LegalizeTypes legalize vector
shuffles: the mask is a BUILD_VECTOR that it is
*not always possible* to legalize while keeping it
a BUILD_VECTOR (vector_shuffle requires the mask
to be a BUILD_VECTOR, as opposed to a vector with
the right vector type). With this check it is even
harder to legalize the mask - turning the check off
means that LegalizeTypes manages to legalize almost
all vector shuffles encountered in practice. The
correct solution is to change vector_shuffle to be a
variadic node with the mask built into it as operands.
While waiting for that change, this hack stops the
problem with vector_shuffle from blocking the turning
on of LegalizeTypes.
llvm-svn: 57965
|
| |
|
|
| |
llvm-svn: 57964
|
| |
|
|
| |
llvm-svn: 57963
|
| |
|
|
|
|
| |
are their operands.
llvm-svn: 57956
|
| |
|
|
|
|
| |
inline
llvm-svn: 57951
|
| |
|
|
|
|
|
|
|
|
| |
1. Remove a bogus assertion, clients other than sema can return a
null pointer from actions that result in ParseTypeName returning null.
2. Remove dead RParenLoc variable.
3. Simplify control flow handling error conditions.
4. On a major failure, we should skip until ')' not until '}'.
llvm-svn: 57949
|
| |
|
|
|
|
| |
- Stop playing fast and loose with the std stream.
llvm-svn: 57948
|
| |
|
|
| |
llvm-svn: 57946
|
| |
|
|
| |
llvm-svn: 57945
|
| |
|
|
| |
llvm-svn: 57944
|
| |
|
|
|
|
| |
names of LLVMCore and ARMCodeGen.
llvm-svn: 57943
|
| |
|
|
|
|
| |
are disjoint, and add some overloading-based tests of qualification conversions
llvm-svn: 57942
|
| |
|
|
| |
llvm-svn: 57941
|
| |
|
|
| |
llvm-svn: 57940
|
| |
|
|
| |
llvm-svn: 57939
|
| |
|
|
| |
llvm-svn: 57938
|
| |
|
|
| |
llvm-svn: 57937
|
| |
|
|
|
|
|
|
|
|
|
| |
- Split backend related consumer out into Backend.cpp, replaces
LLVMCodeGenWriter.
- Structure follows llvm-gcc to some extent.
- Still need to implement all the options which impact code
generation and the optimization passes which llvm-gcc uses at
various levels.
llvm-svn: 57936
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Sema::IsQualificationConversion determines whether we have a qualification
conversion.
- Sema::CheckSingleAssignment constraints now follows the C++ rules in C++,
performing an implicit conversion from the right-hand side to the type of
the left-hand side rather than checking based on the C notion of
"compatibility". We now rely on the implicit-conversion code to
determine whether the conversion can happen or
not. Sema::TryCopyInitialization has an ugly reference-related
hack to cope with the initialization of references, for now.
- When building DeclRefExprs, strip away the reference type, since
there are no expressions whose type is a reference. We'll need to
do this throughout Sema.
- Expr::isLvalue now permits functions to be lvalues in C++ (but not
in C).
llvm-svn: 57935
|
| |
|
|
|
|
|
| |
createPrintModulePass and createPrintFunctionPass.
- So clients who compile w/o RTTI can use them.
llvm-svn: 57933
|
| |
|
|
|
|
| |
well, sort of. (Algorithm by Ian Ollmann.)
llvm-svn: 57932
|
| |
|
|
| |
llvm-svn: 57931
|
| |
|
|
|
|
| |
previous commit.
llvm-svn: 57930
|
| |
|
|
| |
llvm-svn: 57927
|
| |
|
|
|
|
|
|
|
|
| |
The same one Apple gcc uses, faster. Also gets the
extreme case in gcc.c-torture/execute/ieee/rbug.c
correct which we weren't before; this is not
sufficient to get the test to pass though, there
is another bug.
llvm-svn: 57926
|