| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 150306
|
| |
|
|
| |
llvm-svn: 150305
|
| |
|
|
| |
llvm-svn: 150304
|
| |
|
|
|
|
|
| |
This requires some gymnastics to make it available for C code. Remove the names
from the disassembler tables, making them relocation free.
llvm-svn: 150303
|
| |
|
|
| |
llvm-svn: 150301
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Module flags are key-value pairs associated with the module. They include a
'behavior' value, indicating how module flags react when mergine two
files. Normally, it's just the union of the two module flags. But if two module
flags have the same key, then the resulting flags are dictated by the behaviors.
Allowable behaviors are:
Error
Emits an error if two values disagree.
Warning
Emits a warning if two values disagree.
Require
Emits an error when the specified value is not present
or doesn't have the specified value. It is an error for
two (or more) llvm.module.flags with the same ID to have
the Require behavior but different values. There may be
multiple Require flags per ID.
Override
Uses the specified value if the two values disagree. It
is an error for two (or more) llvm.module.flags with the
same ID to have the Override behavior but different
values.
llvm-svn: 150300
|
| |
|
|
|
|
| |
vector_shuffles should be custom lowered before isel.
llvm-svn: 150299
|
| |
|
|
|
|
|
|
|
| |
In case the MachineScheduling pass I'm working on doesn't work well
for another target, they can completely override it. This also adds a
hook immediately after the RegAlloc pass to cleanup immediately after
vregs go away. We may want to fold it into the postRA hook later.
llvm-svn: 150298
|
| |
|
|
| |
llvm-svn: 150297
|
| |
|
|
|
|
| |
mask checks on. This seemed to be confusing things such that vector_shuffle ops to got through to iselection. This is another step towards removing the vector_shuffle handling patterns from isel.
llvm-svn: 150296
|
| |
|
|
|
|
| |
Downgrade error for non-wide character literals with an unexpected encoding to a warning for compatibility with gcc and older versions of clang. <rdar://problem/10837678>.
llvm-svn: 150295
|
| |
|
|
|
|
|
| |
simplicity. Also addresses a FIXME, although not one that could be
observed.
llvm-svn: 150294
|
| |
|
|
|
|
| |
examples seem to work. Tests coming up soon.
llvm-svn: 150293
|
| |
|
|
|
|
| |
double-check that this is correct.)
llvm-svn: 150292
|
| |
|
|
|
|
|
| |
a reference for the instantiation decl. Also test that its location is correct
after previous commit.
llvm-svn: 150291
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to the pattern template that it came from, otherwise we had this situation:
template <typename T1, typename T2>
struct S {
};
template <typename T>
struct S<T, int> {
};
void f() {
S<int, int> s; // location of declaration "S<int, int>" was of "S<T1, T2>" not "S<T, int>"
}
llvm-svn: 150290
|
| |
|
|
|
|
|
|
|
|
|
|
| |
"target modules lookup" also work with the
"--function" option, so you can search for
functions that aren't inlined. This is the
same query that the expression parser makes, so
it's good for diagnosing situations where the
expression parser doesn't find a function you
think should be there.
llvm-svn: 150289
|
| |
|
|
|
|
|
|
| |
When using register masks, registers like %rip are clobbered by the
register mask. LICM should still be able to hoist instructions reading
%rip from a loop containing calls.
llvm-svn: 150288
|
| |
|
|
|
|
|
| |
Again the goal is to produce identical assembly with register mask
operands enabled.
llvm-svn: 150287
|
| |
|
|
| |
llvm-svn: 150286
|
| |
|
|
|
|
| |
prettier.
llvm-svn: 150285
|
| |
|
|
| |
llvm-svn: 150284
|
| |
|
|
|
|
| |
recursive capture. This is far more interesting for IRgen.
llvm-svn: 150283
|
| |
|
|
|
|
| |
default arguments if in fact those lambdas capture any entity.
llvm-svn: 150282
|
| |
|
|
| |
llvm-svn: 150281
|
| |
|
|
|
|
|
|
| |
Sascha Wildner.
Setting UserLabelPrefix correctly fixes PR11949.
llvm-svn: 150280
|
| |
|
|
|
|
|
|
|
| |
indicate whether inline functions are desired.
This allows the expression parser, for instance,
to filter out inlined functions when looking for
functions it can call.
llvm-svn: 150279
|
| |
|
|
| |
llvm-svn: 150276
|
| |
|
|
| |
llvm-svn: 150275
|
| |
|
|
|
|
|
| |
Now that the clang driver passes the CPU and feature information to
the backend when processing assembly files (150273), this isn't necessary.
llvm-svn: 150274
|
| |
|
|
|
|
|
|
|
|
| |
When creating the MCSubtargetInfo, the assembler driver uses the CPU and
feature string to construct a more accurate model of what instructions
are and are not legal.
rdar://10840476
llvm-svn: 150273
|
| |
|
|
|
|
|
|
|
|
| |
detection of kernels into the object file and
adding a new category for raw binary images.
Fixed all clients who previously searched for
sections manually, making them use the object
file's facilities instead.
llvm-svn: 150272
|
| |
|
|
| |
llvm-svn: 150271
|
| |
|
|
| |
llvm-svn: 150268
|
| |
|
|
| |
llvm-svn: 150267
|
| |
|
|
| |
llvm-svn: 150266
|
| |
|
|
|
|
| |
ASTMutationListener.
llvm-svn: 150265
|
| |
|
|
|
|
| |
specialization in its USR string.
llvm-svn: 150264
|
| |
|
|
| |
llvm-svn: 150262
|
| |
|
|
|
|
|
|
| |
It can be necessary to detach a register mask pointer from its
MachineOperand. This method is convenient for checking clobbered
physregs on a detached bitmask pointer.
llvm-svn: 150261
|
| |
|
|
|
|
| |
Fixes <rdar://problem/8269537>.
llvm-svn: 150260
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes global live range splitting behave identically with and
without register mask operands.
This is not necessarily the best way of using register masks for live
range splitting. It would be more efficient to first split global live
ranges around calls (i.e., register masks), and reserve the fine grained
per-physreg interference guidance for global live ranges that do not
cross calls.
For now the goal is to produce identical assembly when enabling register
masks.
llvm-svn: 150259
|
| |
|
|
| |
llvm-svn: 150258
|
| |
|
|
|
|
| |
the compiler in r144100
llvm-svn: 150257
|
| |
|
|
|
|
|
|
|
|
|
|
| |
default is '=', and reword the warning about explicitly capturing
'this' in such lambdas to indicate that only explicit capture is
banned.
Introduce Fix-Its for this and other "save the programmer from
themself" rules regarding what can be explicitly captured and what
must be implicitly captured.
llvm-svn: 150256
|
| |
|
|
|
|
|
|
| |
nested captures. We currently don't get odr-use correct in array
bounds, so that bit is commented out while we sort out what we need to
do.
llvm-svn: 150255
|
| |
|
|
| |
llvm-svn: 150254
|
| |
|
|
| |
llvm-svn: 150253
|
| |
|
|
|
|
|
|
| |
have finished parsing the body, so that name lookup will never find
anything within the closure type. Then, add this operator() and the
conversion function (if available) before completing the class.
llvm-svn: 150252
|
| |
|
|
| |
llvm-svn: 150251
|