| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
source vector type is to be split while the target vector is to be promoted.
(eg: <4 x i64> -> <4 x i8> )
llvm-svn: 133424
|
| |
|
|
| |
llvm-svn: 133418
|
| |
|
|
| |
llvm-svn: 133417
|
| |
|
|
|
|
| |
create a overload conflict. Make sure we pick up the llvm one.
llvm-svn: 133416
|
| |
|
|
|
|
|
|
| |
phi instructions
into more complex blocks.
llvm-svn: 133415
|
| |
|
|
|
|
|
|
|
|
|
| |
ConvertType on InitListExprs as they are being converted. This is
needed for a forthcoming patch, and improves the IR generated anyway
(see additional type names in testcases).
This patch also converts a bunch of std::vector's in CGObjCMac to use
C arrays. There are a ton more that should be converted as well.
llvm-svn: 133413
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
all over the place in different styles and variants. Standardize on two
preferred entrypoints: one that takes a StructType and ArrayRef, and one that
takes StructType and varargs.
In cases where there isn't a struct type convenient, we now add a
ConstantStruct::getAnon method (whose name will make more sense after a few
more patches land).
It would be "really really nice" if the ConstantStruct::get and
ConstantVector::get methods didn't make temporary std::vectors.
llvm-svn: 133412
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 133410
|
| |
|
|
|
|
| |
equality check.
llvm-svn: 133409
|
| |
|
|
|
|
| |
the size argument. strncat is not yet up-to-date, but I'm leaving it enabled for now (there shouldn't be any false positives, at least...)
llvm-svn: 133408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A RegisterTuples instance is used to synthesize super-registers by
zipping together lists of sub-registers. This is useful for generating
pseudo-registers representing register sequence constraints like 'two
consecutive GPRs', or 'an even-odd pair of floating point registers'.
The RegisterTuples def can be used in register set operations when
building register classes. That is the only way of accessing the
synthesized super-registers.
For example, the ARM QQ register class of pseudo-registers could have
been formed like this:
// Form pairs Q0_Q1, Q2_Q3, ...
def QQPairs : RegisterTuples<[qsub_0, qsub_1],
[(decimate QPR, 2),
(decimate (shl QPR, 1), 2)]>;
def QQ : RegisterClass<..., (add QQPairs)>;
Similarly, pseudo-registers representing '3 consecutive D-regs with
wraparound' look like:
// Form D0_D1_D2, D1_D2_D3, ..., D30_D31_D0, D31_D0_D1.
def DSeqTriples : RegisterTuples<[dsub_0, dsub_1, dsub_2],
[(rotl DPR, 0),
(rotl DPR, 1),
(rotl DPR, 2)]>;
TableGen automatically computes aliasing information for the synthesized
registers.
Register tuples are still somewhat experimental. We still need to see
how they interact with MC.
llvm-svn: 133407
|
| |
|
|
|
|
| |
diagnostics, and make it easier to provide custom messages for overflow checking, in preparation for re-enabling strncpy checking.
llvm-svn: 133406
|
| |
|
|
|
|
|
|
|
|
|
| |
This makes 'isPointerLikeType' a little less confusing, and pulls the
decay check into a separate interface that is much more clear and
concrete. Also, just implement these as logical wrappers around other
predicates. Having a switch based implementation isn't likely to be
necessary. We can try to optimize them later if they show up on
a profile.
llvm-svn: 133405
|
| |
|
|
|
|
| |
IsInlined() and GetFunctionName().
llvm-svn: 133404
|
| |
|
|
|
|
| |
that is reverted. Recently clang appears to have tightened up its definition of is_convertible and that has caused some failures in [unordered_][multi]map. I've switched to using is_constructible to restablish the desired functionality in [unordered_][multi]map. Specifically, inserting rvalues of move-only types for the keys.
llvm-svn: 133402
|
| |
|
|
| |
llvm-svn: 133401
|
| |
|
|
|
|
| |
const Constant *.
llvm-svn: 133400
|
| |
|
|
| |
llvm-svn: 133390
|
| |
|
|
|
|
| |
vector space, reuse types.
llvm-svn: 133389
|
| |
|
|
| |
llvm-svn: 133388
|
| |
|
|
| |
llvm-svn: 133387
|
| |
|
|
| |
llvm-svn: 133386
|
| |
|
|
| |
llvm-svn: 133385
|
| |
|
|
|
|
|
|
|
| |
false positives, including those in the GCC test suite, and don't warn
about them.
Let me know if this causes fallout, we can turn it back off if needed.
llvm-svn: 133384
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Trieu, and fix them by checking for array and function types as well as
pointer types.
I've added a predicate method on Type to bundle together the logic we're
using here: isPointerLikeType(). I'd welcome better names for this
predicate, this is the best I came up with. It's implemented as a switch
to be a touch lighter weight than all the chained isa<...> casts that
would result otherwise.
llvm-svn: 133383
|
| |
|
|
|
|
| |
instead of scalarizing, and doing an element-by-element truncat.
llvm-svn: 133382
|
| |
|
|
| |
llvm-svn: 133381
|
| |
|
|
|
|
| |
Fixes PR10154. Found by parsing MFC 2010 code with clang.
llvm-svn: 133380
|
| |
|
|
| |
llvm-svn: 133378
|
| |
|
|
| |
llvm-svn: 133377
|
| |
|
|
|
|
| |
so we avoid crashing.
llvm-svn: 133376
|
| |
|
|
|
|
|
| |
operator counts due to bad debug DWARF debug info. We now verify the operator
has a valid number of params using the clang operator tables.
llvm-svn: 133375
|
| |
|
|
|
|
|
| |
expressions, but Chris wants to instead reduce the set of possible constant
expression types.
llvm-svn: 133374
|
| |
|
|
|
|
| |
can manipulate instructions and constantexpr's uniformly. No users yet though.
llvm-svn: 133373
|
| |
|
|
| |
llvm-svn: 133372
|
| |
|
|
|
|
|
| |
top level type without a specified number. This syntax isn't documented
and blocks forward progress.
llvm-svn: 133371
|
| |
|
|
|
|
| |
Fixes the Linux build.
llvm-svn: 133370
|
| |
|
|
| |
llvm-svn: 133369
|
| |
|
|
|
|
|
|
| |
top level type without a specified number. This asmprinter has never
generated this, as you can tell by no tests being updated. It also isn't
documented.
llvm-svn: 133368
|
| |
|
|
| |
llvm-svn: 133365
|
| |
|
|
|
|
|
|
| |
making usage
much cleaner.
llvm-svn: 133364
|
| |
|
|
| |
llvm-svn: 133363
|
| |
|
|
| |
llvm-svn: 133362
|
| |
|
|
|
|
|
|
| |
from Assembly/Writer.h to being
a private class in AsmWriter.cpp.
llvm-svn: 133361
|
| |
|
|
|
|
| |
removes some gunk from LLVMContext.
llvm-svn: 133360
|
| |
|
|
| |
llvm-svn: 133359
|
| |
|
|
|
|
| |
useless to show.
llvm-svn: 133358
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
const char *
SBFrame::GetFunctionName();
bool
SBFrame::IsInlined();
The first one will return the correct name for a frame. The name of a frame is:
- the name of the inlined function (if there is one)
- the name of the concrete function (if there is one)
- the name of the symbol (if there is one)
- NULL
We also can now easily check if a frame is an inline function or not.
llvm-svn: 133357
|
| |
|
|
| |
llvm-svn: 133356
|
| |
|
|
|
|
| |
temporary std::string for every function being checked.
llvm-svn: 133355
|