aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2014-08-05 17:48:20 +0000
committerPhilip Reames <listmail@philipreames.com>2014-08-05 17:48:20 +0000
commit00c9b6461f65380deed20676147083a6e8c66c3e (patch)
treec517b350cce3dfaf732e9717a316622399e3761f /clang/lib/Frontend/CompilerInvocation.cpp
parent064eb5a1777048c653f6df3975654ac0787249e5 (diff)
downloadllvm-00c9b6461f65380deed20676147083a6e8c66c3e.zip
llvm-00c9b6461f65380deed20676147083a6e8c66c3e.tar.gz
llvm-00c9b6461f65380deed20676147083a6e8c66c3e.tar.bz2
Remove dead zero store to calloc initialized memory
Optimize the following IR: %1 = tail call noalias i8* @calloc(i64 1, i64 4) %2 = bitcast i8* %1 to i32* ; This store is dead and should be removed store i32 0, i32* %2, align 4 Memory returned by calloc is guaranteed to be zero initialized. If the value being stored is the constant zero (and the store is not otherwise observable across threads), we can delete the store. If the store is to an out of bounds address, it is undefined and thus also removable. Reviewed By: nicholas Differential Revision: http://reviews.llvm.org/D3942 llvm-svn: 214897
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions