[PATCH] D16116: Refactor ValueTracking isDereferenceableAndAlignedPointer
Artur Pilipenko via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 14 01:24:09 PST 2016
apilipenko updated this revision to Diff 44837.
apilipenko added a comment.
Rework stripForDereferenceable, stripAndAccumulateOffsetForDereferenceable to use standard Value::stripPointerCasts and GetPointerBaseWithConstantOffset functions. Now it's clear that the only reasons for these helpers is to look through gc relocations. I'm not sure that this is the right way to handle relocations though. But the current state is functional equivalent to what we had before the refactoring. May be we should update InstCombine to propagate dereferenceability through relocations instead of relying on looking through them (see http://reviews.llvm.org/D16143).
http://reviews.llvm.org/D16116
Files:
include/llvm/Analysis/ValueTracking.h
include/llvm/IR/Value.h
lib/Analysis/ValueTracking.cpp
lib/IR/Value.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16116.44837.patch
Type: text/x-patch
Size: 16288 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160114/64cb2e95/attachment.bin>
More information about the llvm-commits
mailing list