Finally land the InvokeInst operand reordering.

I have audited all getOperandNo calls now, fixing
hidden assumptions. CallSite related uglyness will
be eliminated successively.

Note this patch has a long and griveous history,
for all the back-and-forths have a look at
CallSite.h's log.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99399 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Gabor Greif
2010-03-24 13:21:49 +00:00
parent 6d6aaeca4f
commit c9f7500d17
14 changed files with 80 additions and 47 deletions

View File

@@ -409,8 +409,11 @@ public:
void dropAllReferences();
/// hasAddressTaken - returns true if there are any uses of this function
/// other than direct calls or invokes to it.
bool hasAddressTaken() const;
/// other than direct calls or invokes to it. Optionally passes back the
/// offending user for diagnostic purposes.
///
bool hasAddressTaken(const User** = 0) const;
private:
// Shadow Value::setValueSubclassData with a private forwarding method so that
// subclasses cannot accidentally use it.