<div dir="ltr"><div dir="ltr" class="gmail_msg">'isArray'/array bound returning true for vector types seems like it might be a bit confusing for some users. Should it use the sequential terminology? (would that suit/be correct)<br class="gmail_msg"><br>It seems still really confusing overall (maybe I'm just not sufficiently familiar with the context) to have various APIs returning the outer (struct) type, some returning the inner (array member, etc) type, etc.<br><br>Feels like there should be a more consistent API for this abstraction - even if it means a bit more work in some clients (or some (probably non-member)? helper functions). Do you have a good understanding (you could help impart to me) why this iterator simultaneously talks about the outer and the indexed type at any point? I think that's what's complicating this.</div><div dir="ltr" class="gmail_msg"><br></div><div dir="ltr" class="gmail_msg"><br></div><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Sat, Nov 26, 2016 at 10:11 PM Peter Collingbourne via Phabricator <<a href="mailto:reviews@reviews.llvm.org" class="gmail_msg" target="_blank">reviews@reviews.llvm.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">pcc updated this revision to Diff 79348.<br class="gmail_msg">
pcc marked an inline comment as done.<br class="gmail_msg">
pcc added a comment.<br class="gmail_msg">
Herald added a subscriber: amehsan.<br class="gmail_msg">
<br class="gmail_msg">
- Formatting, address review comments, fix bug I introduced in NaryReassociate<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D26594" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D26594</a><br class="gmail_msg">
<br class="gmail_msg">
Files:<br class="gmail_msg">
  llvm/include/llvm/Analysis/TargetTransformInfoImpl.h<br class="gmail_msg">
  llvm/include/llvm/IR/GetElementPtrTypeIterator.h<br class="gmail_msg">
  llvm/include/llvm/Transforms/Utils/Local.h<br class="gmail_msg">
  llvm/lib/Analysis/BasicAliasAnalysis.cpp<br class="gmail_msg">
  llvm/lib/Analysis/InlineCost.cpp<br class="gmail_msg">
  llvm/lib/Analysis/ValueTracking.cpp<br class="gmail_msg">
  llvm/lib/Analysis/VectorUtils.cpp<br class="gmail_msg">
  llvm/lib/CodeGen/CodeGenPrepare.cpp<br class="gmail_msg">
  llvm/lib/CodeGen/SelectionDAG/FastISel.cpp<br class="gmail_msg">
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp<br class="gmail_msg">
  llvm/lib/ExecutionEngine/Interpreter/Execution.cpp<br class="gmail_msg">
  llvm/lib/IR/ConstantFold.cpp<br class="gmail_msg">
  llvm/lib/IR/Constants.cpp<br class="gmail_msg">
  llvm/lib/IR/DataLayout.cpp<br class="gmail_msg">
  llvm/lib/IR/Operator.cpp<br class="gmail_msg">
  llvm/lib/Target/AArch64/AArch64FastISel.cpp<br class="gmail_msg">
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp<br class="gmail_msg">
  llvm/lib/Target/ARM/ARMFastISel.cpp<br class="gmail_msg">
  llvm/lib/Target/Mips/MipsFastISel.cpp<br class="gmail_msg">
  llvm/lib/Target/PowerPC/PPCFastISel.cpp<br class="gmail_msg">
  llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp<br class="gmail_msg">
  llvm/lib/Target/X86/X86FastISel.cpp<br class="gmail_msg">
  llvm/lib/Transforms/IPO/GlobalOpt.cpp<br class="gmail_msg">
  llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp<br class="gmail_msg">
  llvm/lib/Transforms/InstCombine/InstructionCombining.cpp<br class="gmail_msg">
  llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp<br class="gmail_msg">
  llvm/lib/Transforms/Scalar/NaryReassociate.cpp<br class="gmail_msg">
  llvm/lib/Transforms/Scalar/SROA.cpp<br class="gmail_msg">
  llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp<br class="gmail_msg">
  llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp<br class="gmail_msg">
  llvm/lib/Transforms/Utils/SimplifyCFG.cpp<br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div></div>