From a5dcc4f7b2a65afbeec9008733f47e6beee24bde Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 28 May 2004 05:36:49 +0000 Subject: Minor efficiency gain: do 1 nlogn lookup instead of two Code cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13875 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/IPA/FindUsedTypes.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'lib/Analysis') diff --git a/lib/Analysis/IPA/FindUsedTypes.cpp b/lib/Analysis/IPA/FindUsedTypes.cpp index 15208f6..c50e3ec 100644 --- a/lib/Analysis/IPA/FindUsedTypes.cpp +++ b/lib/Analysis/IPA/FindUsedTypes.cpp @@ -32,12 +32,10 @@ void FindUsedTypes::stub() {} // collection of used types. // void FindUsedTypes::IncorporateType(const Type *Ty) { - if (UsedTypes.count(Ty)) return; // Already contain Ty. + // If ty doesn't already exist in the used types map, add it now, otherwise + // return. + if (!UsedTypes.insert(Ty).second) return; // Already contain Ty. - // If ty doesn't already exist in the used types map, add it now. - // - UsedTypes.insert(Ty); - // Make sure to add any types this type references now. // for (Type::subtype_iterator I = Ty->subtype_begin(), E = Ty->subtype_end(); @@ -79,9 +77,8 @@ bool FindUsedTypes::run(Module &m) { for (const_inst_iterator II = inst_begin(F), IE = inst_end(F); II != IE; ++II) { const Instruction &I = *II; - const Type *Ty = I.getType(); - IncorporateType(Ty); // Incorporate the type of the instruction + IncorporateType(I.getType()); // Incorporate the type of the instruction for (User::const_op_iterator OI = I.op_begin(), OE = I.op_end(); OI != OE; ++OI) IncorporateValue(*OI); // Insert inst operand types as well -- cgit v1.1