| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(generic-lambda-capturing) that broke libc++.
See http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-November/033369.html for discussion on cfe-dev.
This fix explicitly checks whether we are within the declcontext of a lambda's call operator - which is what I had intended to be true (and assumed would be true if getCurLambda returns a valid pointer) before checking whether a lambda can capture the potential-captures of the innermost lambda.
A deeper fix (that addresses why getCurLambda() returns a valid pointer when perhaps it shouldn't?) - as proposed by Richard Smith in http://llvm.org/bugs/show_bug.cgi?id=17877 - has been suggested as a FIXME.
Patch was LGTM'd by Richard (just barely :)
http://llvm-reviews.chandlerc.com/D2144
llvm-svn: 194448
|
| |
|
|
|
|
| |
callback test. A better test for moduleExport is coming.
llvm-svn: 194447
|
| |
|
|
| |
llvm-svn: 194446
|
| |
|
|
| |
llvm-svn: 194445
|
| |
|
|
|
|
|
|
|
|
| |
substitution failure, allow a flag to be set on the Diagnostic object,
to mark it as 'causes substitution failure'.
Refactor Diagnostic.td and the tablegen to use an enum for SFINAE behavior
rather than a bunch of flags.
llvm-svn: 194444
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Print the range of registers used with a single letter prefix.
This better matches what the shader compiler produces and
is overall less obnoxious than concatenating all of the
subregister names together.
Instead of SGPR0, it will print s0. Instead of SGPR0_SGPR1,
it will print s[0:1] and so on.
There doesn't appear to be a straightforward way
to get the actual register info in the InstPrinter,
so this parses the generated name to print with the
new syntax.
The required test changes are pretty nasty, and register
matching regexes are now worse. Since there isn't a way to
add to a variable in FileCheck, some of the tests now don't
check the exact number of registers used, but I don't think that
will be a real problem.
llvm-svn: 194443
|
| |
|
|
|
|
|
|
|
|
|
| |
This has no material effect at this time since we don't have a direct
object emitter for mips16 and the assembler can't tell them apart. I
place a comment "16 bit inst" for those so that I can tell them apart in the
output. The constant island pass has only been minimally changed to allow
this. More complete branch work is forthcoming but this is the first
step.
llvm-svn: 194442
|
| |
|
|
|
|
| |
Patch by Will Wilson!
llvm-svn: 194441
|
| |
|
|
| |
llvm-svn: 194440
|
| |
|
|
|
|
|
|
| |
Hopefully Richard won't notice this terrible egregiocity - clearly the work of a malevolent poltergeist - fixed now ;)
No functionality change.
llvm-svn: 194439
|
| |
|
|
|
|
|
|
| |
No Functionality change.
This refactoring avoids having to call getCurLambda right after PushLambdaScope, to obtain the LambdaScopeInfo that was created during the call to PushLambdaScope.
llvm-svn: 194438
|
| |
|
|
|
|
|
| |
The parsing method still returns llvm::error_code for consistency with
other parsing methods. Minor cleanup, no functionality change.
llvm-svn: 194437
|
| |
|
|
|
|
| |
the HistoryThread dtor.
llvm-svn: 194436
|
| |
|
|
| |
llvm-svn: 194435
|
| |
|
|
|
|
| |
ObjectiveC legacy runtime too. // rdar://15363492
llvm-svn: 194434
|
| |
|
|
| |
llvm-svn: 194433
|
| |
|
|
|
|
| |
change. PR17843
llvm-svn: 194432
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
X86AsmPrinter::EmitInstruction, rather than X86MCInstLower::Lower.
The aim is to improve the reusability of the X86MCInstLower class by making it
more function-like. The X86::MORESTACK_RET_RESTORE_R10 pseudo broke the
function model by emitting an extra instruction to the MCStreamer attached to
the AsmPrinter.
The patch should have no impact on generated code.
llvm-svn: 194431
|
| |
|
|
|
|
| |
This is a reduced testcase from a cast to Function failing during bootstrap.
llvm-svn: 194430
|
| |
|
|
|
|
|
|
| |
ARM's UAL syntax allows the same assembly file to be compiled in both ARM and
Thumb mode. Conditional execution is handled by requiring the Thumb IT blocks,
but essentially ignoring them when compiling for ARM.
llvm-svn: 194429
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixes <rdar://15432754> [JS] Assertion: "Folded a def to a non-store!"
The primary purpose of anyregcc is to prevent a patchpoint's call
arguments and return value from being spilled. They must be available
in a register, although the calling convention does not pin the
register. It's up to the front end to avoid using this convention for
calls with more arguments than allocatable registers.
llvm-svn: 194428
|
| |
|
|
| |
llvm-svn: 194427
|
| |
|
|
|
|
| |
the floating point register mode.
llvm-svn: 194426
|
| |
|
|
| |
llvm-svn: 194425
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The symptom is that an assertion is triggered. The assertion was added by
me to detect the situation when value is propagated from dead blocks.
(We can certainly get rid of assertion; it is safe to do so, because propagating
value from dead block to alive join node is certainly ok.)
The root cause of this bug is : edge-splitting is conducted on the fly,
the edge being split could be a dead edge, therefore the block that
split the critial edge needs to be flagged "dead" as well.
There are 3 ways to fix this bug:
1) Get rid of the assertion as I mentioned eariler
2) When an dead edge is split, flag the inserted block "dead".
3) proactively split the critical edges connecting dead and live blocks when
new dead blocks are revealed.
This fix go for 3) with additional 2 LOC.
Testing case was added by Rafael the other day.
llvm-svn: 194424
|
| |
|
|
|
|
|
| |
the floating point register mode.
llvm-svn: 194423
|
| |
|
|
| |
llvm-svn: 194422
|
| |
|
|
|
|
|
|
|
| |
llvm-readobj.
The patch reviewed by Michael Spencer.
http://llvm-reviews.chandlerc.com/D2113
llvm-svn: 194421
|
| |
|
|
|
|
|
|
| |
This reverts commit r194403.
Was breaking too many tests...
llvm-svn: 194420
|
| |
|
|
|
|
|
|
| |
This reverts commit r194414.
Was breaking too many tests...
llvm-svn: 194419
|
| |
|
|
|
|
|
| |
This partially reverts r187641 until ld64 adopts a change to link with an
rpath setting.
llvm-svn: 194418
|
| |
|
|
|
|
|
|
| |
This will enable the PBQP register allocator to provide its own normalizing function.
No functionnal change.
llvm-svn: 194417
|
| |
|
|
| |
llvm-svn: 194416
|
| |
|
|
|
|
| |
RuntimeDyldImpl::resolveExternalSymbols
llvm-svn: 194415
|
| |
|
|
| |
llvm-svn: 194414
|
| |
|
|
| |
llvm-svn: 194413
|
| |
|
|
| |
llvm-svn: 194412
|
| |
|
|
|
|
|
|
| |
The assert this patch deletes was valid only when aliasing D2 to D1, not when
looking at a base class. Since the assert was in the path where we had already
decided to not produce an alias, just drop it.
llvm-svn: 194411
|
| |
|
|
|
|
| |
of function parameters
llvm-svn: 194410
|
| |
|
|
| |
llvm-svn: 194409
|
| |
|
|
| |
llvm-svn: 194408
|
| |
|
|
|
|
| |
source operands, a vector, an element to insert, and a shift amount.
llvm-svn: 194407
|
| |
|
|
|
|
| |
source operands, a vector, an element to insert, and a shift amount.
llvm-svn: 194406
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: rafael.espindola, rengolin, hfinkel
Reviewed By: rengolin
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2138
llvm-svn: 194405
|
| |
|
|
|
|
|
|
| |
Besides, this relates it more obviously to the VirtRegAuxInfo::calculateSpillWeightAndHint.
No functionnal change.
llvm-svn: 194404
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Currently with clang:
$ clang -O20 foo.c
error: invalid value '20' in '-O20'
With the patch:
$ clang -O20 foo.c
warning: invalid value '20' in '-O20'. Fall back on value '3'
Reviewers: rengolin, hfinkel
Reviewed By: rengolin
CC: cfe-commits, hfinkel, rengolin
Differential Revision: http://llvm-reviews.chandlerc.com/D2125
llvm-svn: 194403
|
| |
|
|
|
|
| |
method implementations. // rdar://15438505
llvm-svn: 194402
|
| |
|
|
| |
llvm-svn: 194401
|
| |
|
|
| |
llvm-svn: 194400
|
| |
|
|
| |
llvm-svn: 194399
|