[IR] Make paramHasAttr to use arg indices instead of attr indices
authorReid Kleckner <rnk@google.com>
Fri, 14 Apr 2017 20:19:02 +0000 (20:19 +0000)
committerReid Kleckner <rnk@google.com>
Fri, 14 Apr 2017 20:19:02 +0000 (20:19 +0000)
commitfb502d2f5e20eb7bd6fb95c407ff4078a530c0fe
treece9278d3d691404cb00cdfa0932ec36c143f6b90
parent23f28e6c75f80afe8e9f3c3fe739071757df8e09
[IR] Make paramHasAttr to use arg indices instead of attr indices

This avoids the confusing 'CS.paramHasAttr(ArgNo + 1, Foo)' pattern.

Previously we were testing return value attributes with index 0, so I
introduced hasReturnAttr() for that use case.

llvm-svn: 300367
21 files changed:
llvm/include/llvm/CodeGen/FastISel.h
llvm/include/llvm/IR/CallSite.h
llvm/include/llvm/IR/Instructions.h
llvm/include/llvm/Target/TargetLowering.h
llvm/lib/Analysis/AliasAnalysis.cpp
llvm/lib/Analysis/BasicAliasAnalysis.cpp
llvm/lib/Analysis/InlineCost.cpp
llvm/lib/Analysis/MemoryBuiltins.cpp
llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
llvm/lib/IR/Instructions.cpp
llvm/lib/IR/Verifier.cpp
llvm/lib/Target/ARM/ARMFastISel.cpp
llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
llvm/lib/Target/X86/X86FastISel.cpp
llvm/lib/Transforms/IPO/FunctionAttrs.cpp
llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp