| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
literal declaration caused crash in CodeGen.
This patch fixes it. pr8707
llvm-svn: 120486
|
| |
|
|
|
|
|
|
| |
may-aliasing stores that partially overlap with different base
pointers. This implements PR6043 and the non-variable part of
PR8657
llvm-svn: 120485
|
| |
|
|
| |
llvm-svn: 120484
|
| |
|
|
|
|
|
|
|
|
|
|
| |
label addresses or references to temporaries, e.g:
const int& g2() {
int s1;
int &s2 = s1; // expected-note {{binding reference variable 's2' here}}
return s2; // expected-warning {{reference to stack memory associated with local variable 's1' returned}}
}
llvm-svn: 120483
|
| |
|
|
|
|
|
|
|
|
| |
t_addrmode_s4, but with a different scaling factor.
* Encode the Thumb1 load and store instructions. This involved a bit of
refactoring (hi, Chris! :-). Some of the patterns became dead afterwards and
were removed.
llvm-svn: 120482
|
| |
|
|
|
|
|
|
|
| |
This allows the
Thumb2 encoding to share code with the ARM encoding, which gets use fixup support for free.
It also allows us to fold away at least one codegen-only pattern.
llvm-svn: 120481
|
| |
|
|
| |
llvm-svn: 120480
|
| |
|
|
| |
llvm-svn: 120479
|
| |
|
|
| |
llvm-svn: 120476
|
| |
|
|
| |
llvm-svn: 120474
|
| |
|
|
|
|
|
|
|
| |
copied by the copy constructor for ClangExpressionVariable.
This meant that a NULL m_register_info wouldn't be
copied, and instead the field was uninitialized, potentially
confusing the materializer.
llvm-svn: 120472
|
| |
|
|
| |
llvm-svn: 120471
|
| |
|
|
| |
llvm-svn: 120470
|
| |
|
|
|
|
|
| |
the code. We now get accurate sizes on Loads, though it surely doesn't
matter in practice.
llvm-svn: 120469
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
1. if the underlying pointer passed in can be resolved
to any argument or alloca, then we don't need to scan.
Previously we would only avoid the scan if the alloca
or byval was actually considered dead.
2. The dead store processing code is itself completely
dead and didn't handle volatile stores right anyway,
so delete it. This allows simplifying the interface
to RemoveAccessedObjects.
llvm-svn: 120467
|
| |
|
|
|
|
| |
while I'm in there.
llvm-svn: 120466
|
| |
|
|
|
|
|
|
| |
made sense to me. We now have a set of dead stack objects, and
they become live when loaded. Fix a theoretical problem where
we'd pass in the wrong pointer to the alias query.
llvm-svn: 120465
|
| |
|
|
|
|
|
|
| |
If the call might read all the allocas, stop scanning early.
Convert a vector to smallvector, shrink SmallPtrSet to 16 instead
of 64 to avoid crazy linear scans.
llvm-svn: 120463
|
| |
|
|
|
|
| |
rdar://problem/8710994 Assertion failed: (reg_info) GDBRemoteRegisterContext.cpp, line 199
llvm-svn: 120462
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use a DenseSet instead of a FoldingSet to cache
canonicalized nodes. This reduces the overhead
of double-hashing.
- Use reference counts in ImutAVLTree to much
more aggressively recover tree nodes that are
no longer usable. We can generate many
transient nodes while using add() and remove()
on ImmutableSet/ImmutableMaps to generate a final
set/map.
For the clang static analyzer (the main client
of these data structures), this results in
a slight speedup (0.5%) when analyzing sqlite3,
but much more importantly results in a 30-60%
reduction in peak memory usage when the analyzer
is analyzing a given function in a file. On
average that's about a ** 44% reduction ** in the
memory footprint of the static analyzer.
llvm-svn: 120459
|
| |
|
|
| |
llvm-svn: 120458
|
| |
|
|
|
|
| |
there should be a better way to do this. PR 8679.
llvm-svn: 120457
|
| |
|
|
| |
llvm-svn: 120455
|
| |
|
|
| |
llvm-svn: 120454
|
| |
|
|
|
|
| |
AA and MD pass info instead of using getAnalysis<> all over.
llvm-svn: 120453
|
| |
|
|
| |
llvm-svn: 120452
|
| |
|
|
| |
llvm-svn: 120451
|
| |
|
|
| |
llvm-svn: 120450
|
| |
|
|
| |
llvm-svn: 120449
|
| |
|
|
|
|
| |
declarations.
llvm-svn: 120448
|
| |
|
|
| |
llvm-svn: 120447
|
| |
|
|
| |
llvm-svn: 120446
|
| |
|
|
|
|
|
| |
now that DSE hacks on them. This fixes a regression I introduced,
by generalizing DSE to hack on transfers.
llvm-svn: 120445
|
| |
|
|
|
|
|
| |
no extra encoding information), so we no longer need to special case them
here.
llvm-svn: 120444
|
| |
|
|
| |
llvm-svn: 120443
|
| |
|
|
| |
llvm-svn: 120442
|
| |
|
|
| |
llvm-svn: 120441
|
| |
|
|
|
|
|
|
| |
is a 16% speedup running loops on test-suite + SPEC2000.
Reviewed by Eric Christopher.
llvm-svn: 120440
|
| |
|
|
| |
llvm-svn: 120439
|
| |
|
|
|
|
| |
rdar://8685712
llvm-svn: 120438
|
| |
|
|
|
|
|
| |
(// rdar://8592641). Also rename LANGUAGEID to
LanguageID.
llvm-svn: 120437
|
| |
|
|
| |
llvm-svn: 120436
|
| |
|
|
|
|
| |
and use this to disable a specific optimization. Patch by Micah Villmow!
llvm-svn: 120435
|
| |
|
|
|
|
| |
rdar://problem/8710994 Assertion failed: (reg_info) GDBRemoteRegisterContext.cpp, line 199
llvm-svn: 120434
|
| |
|
|
| |
llvm-svn: 120433
|
| |
|
|
|
|
| |
rdar://problem/8710994 Assertion failed: (reg_info) GDBRemoteRegisterContext.cpp, line 199
llvm-svn: 120432
|
| |
|
|
|
|
|
|
|
|
| |
Application Specific Information:
HandleCommand(command = "expression self->str")
radar:8711052
llvm-svn: 120431
|
| |
|
|
|
|
| |
rdar://problem/8710994 Assertion failed: (reg_info) GDBRemoteRegisterContext.cpp, line 199
llvm-svn: 120430
|
| |
|
|
|
|
|
|
|
| |
a specific language. We are adding such language info. by
extensing Builtins.def and via a language flag added
to LIBBUILTIN/BUILTIN and check for that when deciding
a name is builtin or not. Implements //rdar://8689273.
llvm-svn: 120429
|
| |
|
|
| |
llvm-svn: 120423
|