aboutsummaryrefslogtreecommitdiff
path: root/lib/MC/ELFObjectWriter.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-12-07 02:08:58 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-12-07 02:08:58 +0000
commit70d3bebc8bc857fcf3d7fac44bda884d5e2a7040 (patch)
tree02d3047cbe28a3ed9cbca567a5e16a3222cfd0d3 /lib/MC/ELFObjectWriter.cpp
parentb02ed5b8eafd11500bbefb7206ecbf5bc3fc324a (diff)
Add support to ValueTracking for determining that a pointer is non-null
by virtue of inbounds GEPs that preclude a null pointer. This is a very common pattern in the code generated by std::vector and other standard library routines which use allocators that test for null pervasively. This is one step closer to teaching Clang+LLVM to be able to produce an empty function for: void f() { std::vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); } Which is related to getting them to completely fold SmallVector push_back sequences into constants when inlining and other optimizations make that a possibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169573 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/ELFObjectWriter.cpp')
0 files changed, 0 insertions, 0 deletions