From 5d8a792eac56c8f6e7743b9ceda0e4ab13391071 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Tue, 18 Nov 2014 02:20:29 +0000 Subject: [PATCH] IR: Sink MDNode::Hash down to GenericMDNode::Hash Part of PR21532. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222212 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/Metadata.h | 8 +++----- lib/IR/Metadata.cpp | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/include/llvm/IR/Metadata.h b/include/llvm/IR/Metadata.h index 6da5b21c923..a056b0d2973 100644 --- a/include/llvm/IR/Metadata.h +++ b/include/llvm/IR/Metadata.h @@ -164,10 +164,6 @@ protected: llvm_unreachable("Constructor throws?"); } - // TODO: Sink this into GenericMDNode. Can't do this until operands are - // allocated at the front (currently they're at the back). - unsigned Hash; - /// \brief Subclass data enums. enum { /// FunctionLocalBit - This bit is set if this MDNode is function local. @@ -285,8 +281,10 @@ class GenericMDNode : public MDNode { friend class MDNode; friend class LLVMContextImpl; + unsigned Hash; + GenericMDNode(LLVMContext &C, ArrayRef Vals, bool isFunctionLocal) - : MDNode(C, GenericMDNodeVal, Vals, isFunctionLocal) {} + : MDNode(C, GenericMDNodeVal, Vals, isFunctionLocal), Hash(0) {} ~GenericMDNode(); void dropAllReferences(); diff --git a/lib/IR/Metadata.cpp b/lib/IR/Metadata.cpp index b4da2e068b8..27ba9f7a87b 100644 --- a/lib/IR/Metadata.cpp +++ b/lib/IR/Metadata.cpp @@ -140,7 +140,7 @@ void MDNode::operator delete(void *Mem) { MDNode::MDNode(LLVMContext &C, unsigned ID, ArrayRef Vals, bool isFunctionLocal) - : Metadata(C, ID), Hash(0) { + : Metadata(C, ID) { NumOperands = Vals.size(); if (isFunctionLocal) -- 2.34.1