| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
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
|
| |
|
|
|
|
| |
the folding it can.
llvm-svn: 122359
|
| |
|
|
|
|
|
| |
are not actually relaxed. For example, a section with only alignments will never
needs relaxation.
llvm-svn: 122356
|
| |
|
|
| |
llvm-svn: 122355
|
| |
|
|
|
|
|
|
| |
count operand. These should be the same but apparently are
not always, and this is cleaner anyway. This improves the
code in an existing test.
llvm-svn: 122354
|
| |
|
|
| |
llvm-svn: 122353
|
| |
|
|
| |
llvm-svn: 122352
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inconsistent with the type that the builtin *should* have, forget
about the builtin altogether: we don't want subsequence analyses,
CodeGen, etc., to think that we have a proper builtin function.
C is protected from errors here because it allows one to use a
library builtin without having a declaration, and detects inconsistent
(re-)declarations of builtins during declaration merging. C++ was
unprotected, and therefore would crash.
Fixes PR8839.
llvm-svn: 122351
|
| |
|
|
|
|
|
|
| |
take into account the region of interest. Otherwise, we may fail to
traverse some important preprocessed entity cursors.
Fixes <rdar://problem/8554072>.
llvm-svn: 122350
|
| |
|
|
| |
llvm-svn: 122349
|
| |
|
|
| |
llvm-svn: 122348
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
classes, categories, protocols, and class extensions, where the
methods and properties of these entities would be inserted into the
DeclContext in an ordering that doesn't necessarily reflect source
order. The culprits were Sema::ActOnMethodDeclaration(), which did not
perform the insertion of the just-created method declaration into
the DeclContext for these Objective-C entities, and
Sema::ActOnAtEnd(), which inserted all method declarations at the
*end* of the DeclContext.
With this fix in hand, clean up the code-completion actions for
property setters/getters that worked around this brokenness in the AST.
Fixes <rdar://problem/8062781>, where this problem manifested as poor
token-annotation information, but this would have struck again in many
other places.
llvm-svn: 122347
|
| |
|
|
| |
llvm-svn: 122346
|
| |
|
|
| |
llvm-svn: 122345
|
| |
|
|
|
|
|
| |
visit instructions before their uses, since InstructionSimplify does a
better job in that case. All this prompted by Frits van Bommel.
llvm-svn: 122343
|