| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 122420
|
|
|
|
| |
llvm-svn: 122419
|
|
|
|
|
|
|
|
|
|
|
|
| |
deduction. Unify all of the looping over template arguments for
deduction purposes into a single place, where argument pack expansion
occurs; this is also the hook for deducing from pack expansions, which
itself is not yet implemented.
For now, at least we can handle a basic "count" metafunction written
with variadics. See the new test for the formulation that works.
llvm-svn: 122418
|
|
|
|
|
|
|
|
| |
the original instruction, half the cases were missed (making it not
wrong but suboptimal). Also correct a typo (A <-> B) in the second
chunk.
llvm-svn: 122414
|
|
|
|
| |
llvm-svn: 122413
|
|
|
|
|
|
| |
esp. important given that the LOCAL_SECTDIFF enumeration got redefined.
llvm-svn: 122412
|
|
|
|
|
|
| |
figure out how it is supposed to work.
llvm-svn: 122410
|
|
|
|
| |
llvm-svn: 122409
|
|
|
|
| |
llvm-svn: 122408
|
|
|
|
| |
llvm-svn: 122407
|
|
|
|
| |
llvm-svn: 122406
|
|
|
|
| |
llvm-svn: 122405
|
|
|
|
| |
llvm-svn: 122404
|
|
|
|
|
|
| |
RecordRelocation with lots of FIXMEs.
llvm-svn: 122402
|
|
|
|
| |
llvm-svn: 122401
|
|
|
|
|
|
|
| |
clear how to keep in the generic path (yet).
- Will revisit when it actually works.
llvm-svn: 122400
|
|
|
|
|
|
|
|
| |
if both A op B and A op C simplify. This fires fairly often but doesn't
make that much difference. On gcc-as-one-file it removes two "and"s and
turns one branch into a select.
llvm-svn: 122399
|
|
|
|
| |
llvm-svn: 122398
|
|
|
|
|
|
| |
instcombine is compared to instsimplify.
llvm-svn: 122397
|
|
|
|
|
|
| |
the location (l-value) to it.
llvm-svn: 122396
|
|
|
|
|
|
| |
Patch by Wesley Peck!
llvm-svn: 122395
|
|
|
|
| |
llvm-svn: 122394
|
|
|
|
| |
llvm-svn: 122393
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
loads properly. We miscompiled the testcase into:
_test: ## @test
movl $128, (%rdi)
movzbl 1(%rdi), %eax
ret
Now we get a proper:
_test: ## @test
movl $128, (%rdi)
movsbl (%rdi), %eax
movzbl %ah, %eax
ret
This fixes PR8757.
llvm-svn: 122392
|
|
|
|
|
|
| |
unhanded cases faster and simplify code.
llvm-svn: 122391
|
|
|
|
| |
llvm-svn: 122390
|
|
|
|
| |
llvm-svn: 122389
|
|
|
|
|
|
|
|
|
|
|
| |
This change is necessary when the variable is a const reference and we need
the l-value of the construct expr. After that, when binding the variable,
recover the lazy compound value when the variable is not a reference.
In Environment, use the value of a no-op cast expression when it has one.
Otherwise, blast-through it.
llvm-svn: 122388
|
|
|
|
|
|
| |
Previously designated anonymous fields were found via name lookup. This redesign uses the fact that an IndirectFieldDecl declaration will always follow an anonymous implicit field to remove the special case of name lookup.
llvm-svn: 122387
|
|
|
|
|
|
|
|
|
|
|
| |
0 mid-stack, stop backtracing.
SectionLoadList.cpp (ResolveLoadAddress): Don't assert on an
out-of-range address, just return an invalid Address object.
The unwinder may be passing in invalid addresses on the final
stack frame and the assert is a problem.
llvm-svn: 122386
|
|
|
|
| |
llvm-svn: 122385
|
|
|
|
| |
llvm-svn: 122384
|
|
|
|
| |
llvm-svn: 122382
|
|
|
|
| |
llvm-svn: 122381
|
|
|
|
|
|
|
|
|
| |
process
and waiting for two expected state changed events to arrive: "running" followed by
"stopped".
llvm-svn: 122380
|
|
|
|
| |
llvm-svn: 122379
|
|
|
|
|
|
|
|
|
| |
conditional branch values.
I still think that LVI should be handling this, but that capability is some ways off in the future,
and this matters for some significant benchmarks.
llvm-svn: 122378
|
|
|
|
|
|
|
| |
types, but they're just getting converted to unsigned anyway, so cast first
(and ask questions later).
llvm-svn: 122377
|
|
|
|
| |
llvm-svn: 122371
|
|
|
|
|
|
|
| |
the same physical register. Simplifies the fix from the previous
checkin r122211.
llvm-svn: 122370
|
|
|
|
|
|
|
|
| |
to cope with parameter packs. This is a band-aid I will be
revisiting this section when I implement declaration matching
semantics for variadic templates.
llvm-svn: 122369
|
|
|
|
| |
llvm-svn: 122368
|
|
|
|
|
|
| |
expansion TypeLoc
llvm-svn: 122367
|
|
|
|
|
|
|
|
| |
the shift type was needed one place, the shift count
type another. The transform in 123555 had the same
problem.
llvm-svn: 122366
|
|
|
|
| |
llvm-svn: 122365
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(add Y, (sete X, 0)) -> cmp X, 1; adc 0, Y
(add Y, (setne X, 0)) -> cmp X, 1; sbb -1, Y
(sub (sete X, 0), Y) -> cmp X, 1; sbb 0, Y
(sub (setne X, 0), Y) -> cmp X, 1; adc -1, Y
for
unsigned foo(unsigned a, unsigned b) {
if (a == 0) b++;
return b;
}
we now get:
foo:
cmpl $1, %edi
movl %esi, %eax
adcl $0, %eax
ret
instead of:
foo:
testl %edi, %edi
sete %al
movzbl %al, %eax
addl %esi, %eax
ret
llvm-svn: 122364
|
|
|
|
|
|
|
|
|
| |
conversions, make sure that the (possibly) derived type is complete
before looking for base classes.
Finishes the fix for PR8801.
llvm-svn: 122363
|
|
|
|
|
|
| |
while at it.
llvm-svn: 122362
|
|
|
|
|
|
|
| |
declaration, also look for an instantiation of its previous
declarations. Fixes PR8801.
llvm-svn: 122361
|
|
|
|
| |
llvm-svn: 122360
|