| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
about the reliability of this yet.
llvm-svn: 120422
|
| |
|
|
| |
llvm-svn: 120421
|
| |
|
|
| |
llvm-svn: 120420
|
| |
|
|
| |
llvm-svn: 120418
|
| |
|
|
| |
llvm-svn: 120416
|
| |
|
|
| |
llvm-svn: 120415
|
| |
|
|
| |
llvm-svn: 120414
|
| |
|
|
| |
llvm-svn: 120413
|
| |
|
|
|
|
| |
it.
llvm-svn: 120412
|
| |
|
|
|
|
| |
While I'm there, clean up too many \n even for me.
llvm-svn: 120411
|
| |
|
|
| |
llvm-svn: 120410
|
| |
|
|
|
|
| |
Doug isn't likely to rip back out.
llvm-svn: 120409
|
| |
|
|
|
|
|
|
|
|
| |
certainly be made more generic. But it does allow us to parse something like:
ldr r3, [r2, r4]
correctly in Thumb mode.
llvm-svn: 120408
|
| |
|
|
|
|
|
| |
support register and register-immediate addressing mode
todo: immediate and register-register addressing mode
llvm-svn: 120407
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
about pairs of AA::Location's instead of looking for MemDep's
"Def" predicate. This is more powerful and general, handling
memset/memcpy/store all uniformly, and implementing PR8701 and
probably obsoleting parts of memcpyoptimizer.
This also fixes an obscure bug with init.trampoline and i8
stores, but I'm not surprised it hasn't been hit yet. Enhancing
init.trampoline to carry the size that it stores would allow
DSE to be much more aggressive about optimizing them.
llvm-svn: 120406
|
| |
|
|
| |
llvm-svn: 120405
|
| |
|
|
|
|
| |
Fixes PR8573.
llvm-svn: 120404
|