[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