This is an archive of the discontinued LLVM Phabricator instance.

[opaque pointer types] Prune some uses of PointerType::getElementType.
AbandonedPublic

Authored by eddyb on Dec 21 2015, 6:42 AM.

Details

Summary

Breaking API changes:

  • PointerType no longer inherits from SequentialType
  • PointerType::getElementType deprecated in favor of getPointerElementType
  • Type:getPointerElementType removed, cast to PointerType instead
  • GetElementPtrInst::getType override returning SequentialType removed
  • gep_type_iterator requires explicit pointee types, no pointer shorthand
  • DataLayout::getIndexedOffset now takes the pointee, instead of the pointer type
  • SimplifyGEPInst requires the source element (pointee) type
  • Creating a GetElementPtrConstantExpr takes both source and result element types
  • isDereferenceable(AndAligned)Pointer and isSafeToLoadUnconditionally all take an explicit access size
  • isStridedPtr and ConstantFoldLoadFromConstPtr both require an pointee type
  • FindAvailableLoadedValue takes a LoadInst* instead of a Value*

Diff Detail

Event Timeline

eddyb updated this revision to Diff 43370.Dec 21 2015, 6:42 AM
eddyb retitled this revision from to [opaque pointer types] Prune some uses of PointerType::getElementType. Breaking API changes: * PointerType no longer inherits from SequentialType * PointerType::getElementType deprecated in favor of getPointerElementType * Type....
eddyb updated this object.
eddyb added a reviewer: dblaikie.
eddyb added a subscriber: llvm-commits.
eddyb retitled this revision from [opaque pointer types] Prune some uses of PointerType::getElementType. Breaking API changes: * PointerType no longer inherits from SequentialType * PointerType::getElementType deprecated in favor of getPointerElementType * Type... to [opaque pointer types] Prune some uses of PointerType::getElementType..Dec 21 2015, 6:45 AM
eddyb updated this object.
eddyb edited edge metadata.
eddyb set the repository for this revision to rL LLVM.
eddyb abandoned this revision.Jan 16 2016, 3:50 PM

I've followed mjacob's advice and started filing each part of this large patch separately.