| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
tests fail.
llvm-svn: 188447
|
| |
|
|
| |
llvm-svn: 188446
|
| |
|
|
| |
llvm-svn: 188445
|
| |
|
|
|
|
|
|
| |
We were marking both LLVMBUILDOUTPUT and LLVMBUILDERRORS as
ERROR_VARIABLES when clearly LLVMBUILDOUTPUT should be marked as
OUTPUT_VARIABLE.
llvm-svn: 188444
|
| |
|
|
|
|
|
| |
where the executable has been slid. This detects the regression fixed in
r188289.
llvm-svn: 188443
|
| |
|
|
| |
llvm-svn: 188442
|
| |
|
|
|
|
| |
one weird cast from MVT->EVT just to call getSimpleVT().
llvm-svn: 188441
|
| |
|
|
|
|
|
| |
Also use the more common "derive from" in place of "extend" in another
comment.
llvm-svn: 188440
|
| |
|
|
| |
llvm-svn: 188439
|
| |
|
|
|
|
|
|
|
|
| |
properties (direct or indirect) setter/getter (or declared
methods as well) are seen by the method implementation type
matching logic before declaration of method in super class
is seen. This fixes the warning coming out of that method mismatch.
// rdar://14650159
llvm-svn: 188438
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When new virtual registers are created during splitting/spilling, defer
creation of the live interval until we need to use the live interval.
Along with the recent commits to notify LiveRangeEdit when new virtual
registers are created, this makes it possible for functions like
TargetInstrInfo::loadRegFromStackSlot() and
TargetInstrInfo::storeRegToStackSlot() to create multiple virtual
registers as part of the process of generating loads/stores for
different register classes, and then have the live intervals for those
new registers computed when they are needed.
llvm-svn: 188437
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MachineInstrSpan is initialized with a MachineBasicBlock::iterator,
and is intended to track which instructions are inserted before/after
that instruction from the time the MachineInstrSpan is created.
It provides a begin()/end() interface to walk the range of
instructions inserted around the initial instruction (including that
initial instruction).
It also provides a getInitial() interface to return the initial
iterator.
llvm-svn: 188436
|
| |
|
|
|
|
|
|
|
| |
Add a delegate class to MachineRegisterInfo with a single virtual
function, MRI_NoteNewVirtualRegister(). Update LiveRangeEdit to inherit
from this delegate class and override the definition of the callback
with an implementation that tracks the newly created virtual registers.
llvm-svn: 188435
|
| |
|
|
|
|
|
|
|
|
| |
Track new virtual registers by register number, rather than by the live
interval created for them. This is the first step in separating the
creation of new virtual registers and new live intervals. Eventually
live intervals will be created and populated on demand after the virtual
registers have been created and used in instructions.
llvm-svn: 188434
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
semantics of a method.
This is intended to be a simplified API, whose internals are
deliberately less efficient for the purpose of a simplified interface,
for use with clients that want to query the analyzer's heuristics for
determining retain count semantics.
There are no immediate clients, but it is intended to be used
by the ObjC modernizer.
llvm-svn: 188433
|
| |
|
|
|
|
|
| |
This is a WIP change to allow other clients to query the retain count
heuristics of the static analyzer.
llvm-svn: 188432
|
| |
|
|
|
|
| |
This should fix hangs in the OpenCL piglit tests.
llvm-svn: 188431
|
| |
|
|
| |
llvm-svn: 188430
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Now that compute support is better on SI, we can't continue using v16i8
for descriptors since this is also a legal type in OpenCL.
This patch fixes numerous hangs with the piglit OpenCL test and since
we now use a target specific DAG node for LOAD_CONSTANT with the
correct MemOperandFlags, this should also fix:
https://bugs.freedesktop.org/show_bug.cgi?id=66805
llvm-svn: 188429
|
| |
|
|
|
|
|
| |
We switched from i32 to i8 types a while ago and the tests were never
updated.
llvm-svn: 188428
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Using REG_SEQUENCE for BUILD_VECTOR rather than a series of INSERT_SUBREG
instructions should make it easier for the register allocator to coalasce
unnecessary copies.
v2:
- Use an SGPR register class if all the operands of BUILD_VECTOR are
SGPRs.
llvm-svn: 188427
|
| |
|
|
|
|
|
|
| |
The instruction selector will now try to infer the destination register
so it can decided whether to use V_MOV_B32 or S_MOV_B32 when copying
immediates.
llvm-svn: 188426
|
| |
|
|
|
|
|
| |
The previous code declared the operand as unknown:$vaddr, which made
it possible for scalar registers to be used instead of vector registers.
llvm-svn: 188425
|
| |
|
|
| |
llvm-svn: 188424
|
| |
|
|
| |
llvm-svn: 188423
|
| |
|
|
|
|
| |
type that will grow in the future
llvm-svn: 188422
|
| |
|
|
|
|
|
| |
Patch by: Marek Olšák
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
llvm-svn: 188421
|
| |
|
|
|
|
|
| |
Patch by: Marek Olšák
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
llvm-svn: 188420
|
| |
|
|
|
|
|
| |
Patch by: Marek Olšák
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
llvm-svn: 188419
|
| |
|
|
|
|
|
|
|
| |
This fixes the F2U opcode for the Mesa driver.
Patch by: Marek Olšák
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
llvm-svn: 188418
|
| |
|
|
| |
llvm-svn: 188417
|
| |
|
|
|
|
| |
- This cleans up the text output of failing tests when run under PY3.
llvm-svn: 188416
|
| |
|
|
| |
llvm-svn: 188415
|
| |
|
|
| |
llvm-svn: 188414
|
| |
|
|
|
|
| |
return type. This bug was exposed by Eli Friedman's commit to clang r188324. Anywhere this version of clang ships, this libc++ fix must follow. However this fix is compatible with previous clangs, and so this libc++ doesn't need to wait for this clang.
llvm-svn: 188413
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D1395
llvm-svn: 188412
|
| |
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D1396
llvm-svn: 188411
|
| |
|
|
|
|
|
|
|
|
|
| |
referenced as a member of the current instantiation. In that case, deduce the
type of the function to a dependent type rather than exposing an undeduced auto
type to the rest of the current instantiation.
The standard doesn't really say that the type is dependent in this case; I'll
bring this up with CWG.
llvm-svn: 188410
|
| |
|
|
|
|
| |
template" instead of "static data member" when appropriate
llvm-svn: 188409
|
| |
|
|
|
|
| |
Thank Richard Smith for figuring out this problem.
llvm-svn: 188408
|
| |
|
|
|
|
|
|
|
|
| |
This is a follow-up to r187693, correcting that code to request the correct
register class. The previous version, with the wrong register class, was not
really correcting the constraints, but rather was removing them. Coincidentally,
this fixed the failing test case in r187693, but obviously created other
problems.
llvm-svn: 188407
|
| |
|
|
|
|
| |
Tested on multiple OSes.
llvm-svn: 188406
|
| |
|
|
| |
llvm-svn: 188405
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* HeaderChangeDocument -> MigratorDocument
* HeaderFileName -> TargetFile
* SourceFileName -> MainSourceFile
* Removed TransformID
* Comments updated, at least with respect to serialization
* Unit tests updated.
Differential Revision: http://llvm-reviews.chandlerc.com/D1403
llvm-svn: 188404
|
| |
|
|
|
|
|
|
| |
Also add some documentation.
Differential Revision: http://llvm-reviews.chandlerc.com/D1346
llvm-svn: 188403
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces the old incomplete greylist functionality with an ABI
list, which can provide more detailed information about the ABI and
semantics of specific functions. The pass treats every function in
the "uninstrumented" category in the ABI list file as conforming to
the "native" (i.e. unsanitized) ABI. Unless the ABI list contains
additional categories for those functions, a call to one of those
functions will produce a warning message, as the labelling behaviour
of the function is unknown. The other supported categories are
"functional", "discard" and "custom".
- "discard" -- This function does not write to (user-accessible) memory,
and its return value is unlabelled.
- "functional" -- This function does not write to (user-accessible)
memory, and the label of its return value is the union of the label of
its arguments.
- "custom" -- Instead of calling the function, a custom wrapper __dfsw_F
is called, where F is the name of the function. This function may wrap
the original function or provide its own implementation.
Differential Revision: http://llvm-reviews.chandlerc.com/D1345
llvm-svn: 188402
|
| |
|
|
|
|
|
|
| |
tests with args ABI.
Differential Revision: http://llvm-reviews.chandlerc.com/D1351
llvm-svn: 188401
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
paths.
Otherwise it lists all files (e.g. shared libraries) that happen to be in the
same paths the GCC installations usually reside in.
On a x86_64 Debian 7 system with i386 multilibs.
before: clang -v 2>&1|wc -l
3059
after: clang -v 2>&1|wc -l
10
llvm-svn: 188400
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- For whatever reason, we have a lot of test files with bogus unicode
characters. This patch allows those scripts to still be parsed on Python3 by
changing the parsing logic to work on binary files, and only require the
actual script commands to be convertible to ascii.
- This patch has been tweaked to now ensure that the command strings are not of
unicode type on Python 2.6-7.
llvm-svn: 188398
|
| |
|
|
|
|
| |
This works around PR16830 in LLVM when self-hosting clang on Windows.
llvm-svn: 188397
|