aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
diff options
context:
space:
mode:
authorManman Ren <mren@apple.com>2013-04-27 00:26:11 +0000
committerManman Ren <mren@apple.com>2013-04-27 00:26:11 +0000
commita5b314c27a585b979ac9c9da944aa3cec27d22a6 (patch)
tree6920aff228604d7b4b359446caf305078db77347 /include/llvm
parent13131e62fc9a523b3cc8ad98cc9def97ff89391a (diff)
downloadexternal_llvm-a5b314c27a585b979ac9c9da944aa3cec27d22a6.zip
external_llvm-a5b314c27a585b979ac9c9da944aa3cec27d22a6.tar.gz
external_llvm-a5b314c27a585b979ac9c9da944aa3cec27d22a6.tar.bz2
Struct-path aware TBAA: change the format of TBAAStructType node.
We switch the order of offset and field type to make TBAAStructType node (name, parent node, offset) similar to scalar TBAA node (name, parent node). TypeIsImmutable is added to TBAAStructTag node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180654 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/IR/MDBuilder.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/include/llvm/IR/MDBuilder.h b/include/llvm/IR/MDBuilder.h
index 074db78..ce81b54 100644
--- a/include/llvm/IR/MDBuilder.h
+++ b/include/llvm/IR/MDBuilder.h
@@ -159,26 +159,26 @@ public:
/// \brief Return metadata for a TBAA struct node in the type DAG
/// with the given name, a list of pairs (offset, field type in the type DAG).
MDNode *createTBAAStructTypeNode(StringRef Name,
- ArrayRef<std::pair<uint64_t, MDNode*> > Fields) {
+ ArrayRef<std::pair<MDNode*, uint64_t> > Fields) {
SmallVector<Value *, 4> Ops(Fields.size() * 2 + 1);
Type *Int64 = IntegerType::get(Context, 64);
Ops[0] = createString(Name);
for (unsigned i = 0, e = Fields.size(); i != e; ++i) {
- Ops[i * 2 + 1] = ConstantInt::get(Int64, Fields[i].first);
- Ops[i * 2 + 2] = Fields[i].second;
+ Ops[i * 2 + 1] = Fields[i].first;
+ Ops[i * 2 + 2] = ConstantInt::get(Int64, Fields[i].second);
}
return MDNode::get(Context, Ops);
}
/// \brief Return metadata for a TBAA scalar type node with the
/// given name, an offset and a parent in the TBAA type DAG.
- MDNode *createTBAAScalarTypeNode(StringRef Name, uint64_t Offset,
- MDNode *Parent) {
+ MDNode *createTBAAScalarTypeNode(StringRef Name, MDNode *Parent,
+ uint64_t Offset = 0) {
SmallVector<Value *, 4> Ops(3);
Type *Int64 = IntegerType::get(Context, 64);
Ops[0] = createString(Name);
- Ops[1] = ConstantInt::get(Int64, Offset);
- Ops[2] = Parent;
+ Ops[1] = Parent;
+ Ops[2] = ConstantInt::get(Int64, Offset);
return MDNode::get(Context, Ops);
}