Prune some includes and forward declarations.
authorCraig Topper <craig.topper@gmail.com>
Mon, 26 Mar 2012 06:58:25 +0000 (06:58 +0000)
committerCraig Topper <craig.topper@gmail.com>
Mon, 26 Mar 2012 06:58:25 +0000 (06:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153429 91177308-0d34-0410-b5e6-96231b3b80d8

33 files changed:
include/llvm/Assembly/AssemblyAnnotationWriter.h
include/llvm/Assembly/Parser.h
include/llvm/Assembly/Writer.h
include/llvm/InlineAsm.h
include/llvm/Linker.h
include/llvm/MC/MCAsmBackend.h
include/llvm/MC/MCAssembler.h
include/llvm/MC/MCCodeEmitter.h
include/llvm/MC/MCContext.h
include/llvm/MC/MCDwarf.h
include/llvm/MC/MCELFObjectWriter.h
include/llvm/MC/MCExpr.h
include/llvm/MC/MCObjectFileInfo.h
include/llvm/MC/MCObjectWriter.h
include/llvm/MC/MCSection.h
include/llvm/MC/MCSectionCOFF.h
include/llvm/MC/MCSectionELF.h
include/llvm/MC/MCSectionMachO.h
include/llvm/MC/MCStreamer.h
include/llvm/Value.h
lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp
lib/MC/ELFObjectWriter.cpp
lib/MC/MCAsmBackend.cpp
lib/MC/MCAssembler.cpp
lib/MC/MCExpr.cpp
lib/MC/MCObjectStreamer.cpp
lib/MC/MachObjectWriter.cpp
lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
lib/Target/TargetMachine.cpp
lib/Transforms/Scalar/Reassociate.cpp

index fa8cdde2fc5e0af5db04df455f7d42adecc78820..37b47c31e8c7afd3cf40f135e0ab7890b24f9cab 100644 (file)
@@ -23,7 +23,6 @@ class Function;
 class BasicBlock;
 class Instruction;
 class Value;
-class raw_ostream;
 class formatted_raw_ostream;
 
 class AssemblyAnnotationWriter {
index 82ec6d81367bfb123696d6cf76ce4c6306325e47..b971c531ae05f72d2352fa30e8e0ba507a0da1c1 100644 (file)
@@ -21,7 +21,6 @@ namespace llvm {
 class Module;
 class MemoryBuffer;
 class SMDiagnostic;
-class raw_ostream;
 class LLVMContext;
 
 /// This function is the main interface to the LLVM Assembly Parser. It parses
index 8d8befd472d8a39c5f91dcc8a1e31d1ffbd52e42..6b89ae022da3c6131bfd9708c6b79c8e6027543c 100644 (file)
@@ -19,7 +19,6 @@
 
 namespace llvm {
 
-class Type;
 class Module;
 class Value;
 class raw_ostream;
index de5ce4ecafc7d87a061259baa36ab8d6b794e134..37aa18bfff732ae142a55d440e6b6349efd8ffe6 100644 (file)
@@ -17,6 +17,7 @@
 #define LLVM_INLINEASM_H
 
 #include "llvm/Value.h"
+#include "llvm/ADT/StringRef.h"
 #include <vector>
 
 namespace llvm {
index 88908fbd72a7eaac11390fac7614290a97a33589..1ebcd6b53863541d6207cc8877219e7152419c2a 100644 (file)
 #define LLVM_LINKER_H
 
 #include <memory>
+#include <string>
 #include <vector>
-#include "llvm/ADT/StringRef.h"
 
 namespace llvm {
   namespace sys { class Path; }
 
 class Module;
 class LLVMContext;
+class StringRef;
 
 /// This class provides the core functionality of linking in LLVM. It retains a
 /// Module object which is the composite of the modules and libraries linked
index 641ded5ef07564af8745deeac33f5700ae9a4da4..05e6286b7cc5da661299d4a51678aa5dc812b6b9 100644 (file)
@@ -12,7 +12,6 @@
 
 #include "llvm/MC/MCDirectives.h"
 #include "llvm/MC/MCFixup.h"
-#include "llvm/MC/MCFixupKindInfo.h"
 #include "llvm/Support/DataTypes.h"
 #include "llvm/Support/ErrorHandling.h"
 
@@ -20,15 +19,13 @@ namespace llvm {
 class MCAsmLayout;
 class MCAssembler;
 class MCELFObjectTargetWriter;
-class MCFixup;
+struct MCFixupKindInfo;
 class MCFragment;
 class MCInst;
 class MCInstFragment;
 class MCObjectWriter;
 class MCSection;
 class MCValue;
-template<typename T>
-class SmallVectorImpl;
 class raw_ostream;
 
 /// MCAsmBackend - Generic interface to target specific assembler backends.
index 2566241d11bb259da226d8d8c78a4ee28150c7d0..d139173c3e13f27f373311f1d3b3add1280ffd45 100644 (file)
@@ -25,7 +25,6 @@ namespace llvm {
 class raw_ostream;
 class MCAsmLayout;
 class MCAssembler;
-class MCBinaryExpr;
 class MCContext;
 class MCCodeEmitter;
 class MCExpr;
index bc63241bece997c56ecdd9648e5f46ce76022d96..934ef69ce3fe80aa4f9ea71d0dbad89aa45d7aa2 100644 (file)
 #ifndef LLVM_MC_MCCODEEMITTER_H
 #define LLVM_MC_MCCODEEMITTER_H
 
-#include "llvm/MC/MCFixup.h"
-
-#include <cassert>
-
 namespace llvm {
-class MCExpr;
+class MCFixup;
 class MCInst;
 class raw_ostream;
 template<typename T> class SmallVectorImpl;
index 8b4e296bac14fe3867a371aff0999084ea35405f..b58631919330d68b1aa06b63972753d2d3a3dca3 100644 (file)
@@ -16,7 +16,6 @@
 #include "llvm/ADT/StringMap.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Support/Compiler.h"
-#include "llvm/Support/SMLoc.h"
 #include "llvm/Support/raw_ostream.h"
 #include <vector> // FIXME: Shouldn't be needed.
 
@@ -31,6 +30,7 @@ namespace llvm {
   class MCObjectFileInfo;
   class MCRegisterInfo;
   class MCLineSection;
+  class SMLoc;
   class StringRef;
   class Twine;
   class MCSectionMachO;
index a0fc9e50cb8ed19563a7c5349e3115294923b185..fdb7ab23c09ff2b34672576e1c48c621356848ac 100644 (file)
 
 #include "llvm/ADT/StringRef.h"
 #include "llvm/MC/MachineLocation.h"
-#include "llvm/MC/MCObjectWriter.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Support/Dwarf.h"
 #include <vector>
 
 namespace llvm {
   class MCContext;
-  class MCExpr;
+  class MCObjectWriter;
   class MCSection;
-  class MCSectionData;
   class MCStreamer;
   class MCSymbol;
-  class MCObjectStreamer;
-  class raw_ostream;
   class SourceMgr;
   class SMLoc;
 
index 452f8bd28daea6db8a7c1c10aa57d57d5f73634f..f153cb0c1af0cffa2e57f60ea0041e1567f4c710 100644 (file)
 #ifndef LLVM_MC_MCELFOBJECTWRITER_H
 #define LLVM_MC_MCELFOBJECTWRITER_H
 
-#include "llvm/MC/MCObjectWriter.h"
+#include "llvm/ADT/Triple.h"
 #include "llvm/Support/DataTypes.h"
 #include "llvm/Support/ELF.h"
 #include <vector>
 
 namespace llvm {
+class MCAssembler;
+class MCFixup;
+class MCFragment;
+class MCObjectWriter;
+class MCSymbol;
+class MCValue;
+
 /// @name Relocation Data
 /// @{
 
index 2ae1e848382637aa72400b80d5b5c349749b2363..ff33641dba7f53bee706ff978b8f5df8f02b9566 100644 (file)
@@ -15,7 +15,6 @@
 #include "llvm/Support/DataTypes.h"
 
 namespace llvm {
-class MCAsmInfo;
 class MCAsmLayout;
 class MCAssembler;
 class MCContext;
index 5d5801f33dae4622d5476b1cfeb4efa9b4c95ef7..df8f9f32411f53bae097cd7fb61a898ad66cb73f 100644 (file)
 #ifndef LLVM_MC_MCBJECTFILEINFO_H
 #define LLVM_MC_MCBJECTFILEINFO_H
 
-#include "llvm/MC/MCCodeGenInfo.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/MC/SectionKind.h"
+#include "llvm/Support/CodeGen.h"
 
 namespace llvm {
   class MCContext;
   class MCSection;
+  class StringRef;
   class Triple;
 
 class MCObjectFileInfo {  
index f6a566a8f71b9c0d09eb595baf2c83d335d2bf28..6e44e6ceffa37d59c6e04d90361fa00bbc2dcfdd 100644 (file)
@@ -10,7 +10,6 @@
 #ifndef LLVM_MC_MCOBJECTWRITER_H
 #define LLVM_MC_MCOBJECTWRITER_H
 
-#include "llvm/ADT/Triple.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Support/DataTypes.h"
 #include <cassert>
@@ -20,11 +19,9 @@ class MCAsmLayout;
 class MCAssembler;
 class MCFixup;
 class MCFragment;
-class MCSymbol;
 class MCSymbolData;
 class MCSymbolRefExpr;
 class MCValue;
-class raw_ostream;
 
 /// MCObjectWriter - Defines the object file and target independent interfaces
 /// used by the assembler backend to write native file format object files.
index 57008177b6d31e867347bc533eb65a13cd299919..7da6534b6e88f06dfb00fb74bf3d7b782240685a 100644 (file)
 #ifndef LLVM_MC_MCSECTION_H
 #define LLVM_MC_MCSECTION_H
 
-#include "llvm/ADT/StringRef.h"
 #include "llvm/MC/SectionKind.h"
 #include "llvm/Support/Casting.h"
 
 namespace llvm {
-  class MCContext;
   class MCAsmInfo;
   class raw_ostream;
 
index b154cf59d106c2c4d9e4a51ef13b58eacd2eeec8..7eacde57f48f403f2e7f55f32b1c6a8a0b54828e 100644 (file)
@@ -15,8 +15,8 @@
 #define LLVM_MC_MCSECTIONCOFF_H
 
 #include "llvm/MC/MCSection.h"
-
 #include "llvm/Support/COFF.h"
+#include "llvm/ADT/StringRef.h"
 
 namespace llvm {
 
index c82de71282028d7eeeb43c575e15b98726590cc9..7321ca83e8971485fe4000c4fb27c91cf5c0135d 100644 (file)
@@ -16,6 +16,7 @@
 
 #include "llvm/MC/MCSection.h"
 #include "llvm/Support/ELF.h"
+#include "llvm/ADT/StringRef.h"
 
 namespace llvm {
 
index bdb17e9008b2d7ca3f885b1ba0a3871a58d9a3f2..15eb4f4a76859db34109575a46318fbd7a42bcde 100644 (file)
@@ -15,6 +15,7 @@
 #define LLVM_MC_MCSECTIONMACHO_H
 
 #include "llvm/MC/MCSection.h"
+#include "llvm/ADT/StringRef.h"
 
 namespace llvm {
 
index 99323067c47c62bead068aa67fb3271749df28be..25956008e021f7dd6cf34327e40a618763d82c71 100644 (file)
@@ -23,7 +23,6 @@
 
 namespace llvm {
   class MCAsmBackend;
-  class MCAsmInfo;
   class MCCodeEmitter;
   class MCContext;
   class MCExpr;
@@ -32,7 +31,6 @@ namespace llvm {
   class MCSection;
   class MCSymbol;
   class StringRef;
-  class TargetLoweringObjectFile;
   class Twine;
   class raw_ostream;
   class formatted_raw_ostream;
index 380af0b60a4b2e76d4975e81ae15ebcfce567eb9..84ed037ae77eccadeb2fdea54afdc6f4e1e085dc 100644 (file)
@@ -15,7 +15,6 @@
 #define LLVM_VALUE_H
 
 #include "llvm/Use.h"
-#include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Casting.h"
 
 namespace llvm {
@@ -31,8 +30,6 @@ class GlobalAlias;
 class InlineAsm;
 class ValueSymbolTable;
 template<typename ValueTy> class StringMapEntry;
-template <typename ValueTy = Value>
-class AssertingVH;
 typedef StringMapEntry<Value*> ValueName;
 class raw_ostream;
 class AssemblyAnnotationWriter;
@@ -41,6 +38,7 @@ class LLVMContext;
 class Twine;
 class MDNode;
 class Type;
+class StringRef;
 
 //===----------------------------------------------------------------------===//
 //                                 Value Class
index 644eaadef0ec86ba9176fb4833bacffc2d2d0d1a..8370f5f0fc73e875e456acca10cd0bcdcfe564e4 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
+#include "DwarfAccelTable.h"
+#include "DwarfDebug.h"
+#include "DIE.h"
+#include "llvm/ADT/Twine.h"
 #include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/MC/MCExpr.h"
 #include "llvm/MC/MCStreamer.h"
 #include "llvm/MC/MCSymbol.h"
 #include "llvm/Support/Debug.h"
-#include "DwarfAccelTable.h"
-#include "DwarfDebug.h"
-#include "DIE.h"
 
 using namespace llvm;
 
index 665691770ca5bff95be81cfdcd6c1e0a455b60e9..9fc33b6b3e5eda125f5624a69fcfbb0863963795 100644 (file)
@@ -17,7 +17,6 @@
 #include "llvm/ADT/SmallString.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/StringMap.h"
-#include "llvm/ADT/Twine.h"
 #include "llvm/MC/MCAsmBackend.h"
 #include "llvm/MC/MCAsmLayout.h"
 #include "llvm/MC/MCAssembler.h"
 #include "llvm/MC/MCELFObjectWriter.h"
 #include "llvm/MC/MCELFSymbolFlags.h"
 #include "llvm/MC/MCExpr.h"
+#include "llvm/MC/MCFixupKindInfo.h"
+#include "llvm/MC/MCObjectWriter.h"
 #include "llvm/MC/MCSectionELF.h"
 #include "llvm/MC/MCValue.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/ELF.h"
-#include "llvm/Support/CommandLine.h"
-#include "llvm/ADT/StringSwitch.h"
 
 #include <vector>
 using namespace llvm;
index 51c397734bbefd5c28c4278b1f6a48106da4c2b3..0b2e4ae7ed079bdfd9cfd135c3045e75007d447e 100644 (file)
@@ -8,6 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/MC/MCAsmBackend.h"
+#include "llvm/MC/MCFixupKindInfo.h"
 using namespace llvm;
 
 MCAsmBackend::MCAsmBackend()
index a2aaf4e83537674d45ecd7d5aa37852fd57a8cbf..66ba9b81f3aa5c0c567118b20238aef0fd5bd09b 100644 (file)
 #include "llvm/MC/MCCodeEmitter.h"
 #include "llvm/MC/MCContext.h"
 #include "llvm/MC/MCExpr.h"
+#include "llvm/MC/MCFixupKindInfo.h"
 #include "llvm/MC/MCObjectWriter.h"
 #include "llvm/MC/MCSection.h"
 #include "llvm/MC/MCSymbol.h"
 #include "llvm/MC/MCValue.h"
 #include "llvm/MC/MCDwarf.h"
 #include "llvm/MC/MCAsmBackend.h"
-#include "llvm/ADT/OwningPtr.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/Twine.h"
index ceaecd04103c0b4a1b1c24b342dc22b8705e254c..78801557af3e3d5829bda562ba1ecc9197a3bc94 100644 (file)
@@ -14,6 +14,7 @@
 #include "llvm/MC/MCAsmLayout.h"
 #include "llvm/MC/MCAssembler.h"
 #include "llvm/MC/MCContext.h"
+#include "llvm/MC/MCObjectWriter.h"
 #include "llvm/MC/MCSymbol.h"
 #include "llvm/MC/MCValue.h"
 #include "llvm/Support/Debug.h"
index 906bdc3ab8c8c6a9d6e903bf2dfa4474e152a371..bad7cfe38a17c2bdc17d5878e5a944b057b8e50d 100644 (file)
@@ -7,17 +7,17 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/MC/MCObjectStreamer.h"
-
-#include "llvm/Support/ErrorHandling.h"
+#include "llvm/MC/MCAsmBackend.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/MC/MCAssembler.h"
 #include "llvm/MC/MCCodeEmitter.h"
 #include "llvm/MC/MCContext.h"
 #include "llvm/MC/MCDwarf.h"
 #include "llvm/MC/MCExpr.h"
+#include "llvm/MC/MCObjectWriter.h"
 #include "llvm/MC/MCSymbol.h"
-#include "llvm/MC/MCAsmBackend.h"
+#include "llvm/Support/ErrorHandling.h"
 using namespace llvm;
 
 MCObjectStreamer::MCObjectStreamer(MCContext &Context, MCAsmBackend &TAB,
index 57f90d95527301aeb3b04302b8eef0d2cabd9878..8e4066c894ba68f7621f46e6cc853dd87658c015 100644 (file)
@@ -8,13 +8,13 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/MC/MCMachObjectWriter.h"
-#include "llvm/ADT/OwningPtr.h"
 #include "llvm/ADT/StringMap.h"
 #include "llvm/ADT/Twine.h"
 #include "llvm/MC/MCAssembler.h"
 #include "llvm/MC/MCAsmBackend.h"
 #include "llvm/MC/MCAsmLayout.h"
 #include "llvm/MC/MCExpr.h"
+#include "llvm/MC/MCFixupKindInfo.h"
 #include "llvm/MC/MCObjectWriter.h"
 #include "llvm/MC/MCSectionMachO.h"
 #include "llvm/MC/MCSymbol.h"
index 25849eed4d276ce00b2185ab93765a635cae63ad..9c707645946cf86edcb1a9d508fe8a1e5f9bb258 100644 (file)
@@ -16,6 +16,7 @@
 #include "llvm/MC/MCDirectives.h"
 #include "llvm/MC/MCELFObjectWriter.h"
 #include "llvm/MC/MCExpr.h"
+#include "llvm/MC/MCFixupKindInfo.h"
 #include "llvm/MC/MCMachObjectWriter.h"
 #include "llvm/MC/MCObjectWriter.h"
 #include "llvm/MC/MCSectionELF.h"
index 5476a46b71a026eff18d5a5e45d2957413e95b89..98a8bf513c2c193e17d7e80dac8988f78aa66da4 100644 (file)
@@ -11,6 +11,7 @@
 #include "MCTargetDesc/ARMMCTargetDesc.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/raw_ostream.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/MC/MCELFObjectWriter.h"
index 9d5a2f18b39ae1b842c11d955adbb1e2899acaa9..a92604d26c8c519112be399e12aba9af928874c6 100644 (file)
 
 #include "MipsFixupKinds.h"
 #include "MCTargetDesc/MipsMCTargetDesc.h"
-#include "llvm/ADT/Twine.h"
 #include "llvm/MC/MCAsmBackend.h"
 #include "llvm/MC/MCAssembler.h"
 #include "llvm/MC/MCDirectives.h"
 #include "llvm/MC/MCELFObjectWriter.h"
-#include "llvm/MC/MCExpr.h"
-#include "llvm/MC/MCMachObjectWriter.h"
+#include "llvm/MC/MCFixupKindInfo.h"
 #include "llvm/MC/MCObjectWriter.h"
-#include "llvm/MC/MCSectionELF.h"
-#include "llvm/MC/MCSectionMachO.h"
 #include "llvm/MC/MCSubtargetInfo.h"
-#include "llvm/Object/MachOFormat.h"
-#include "llvm/Support/ELF.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
 
index 9c6eefea6ff3cb6c8ecaf17688258e492f8bb75e..48de583afdf1207d6316677b514734b759d739f5 100644 (file)
@@ -11,6 +11,7 @@
 #include "MCTargetDesc/PPCFixupKinds.h"
 #include "llvm/MC/MCAsmBackend.h"
 #include "llvm/MC/MCELFObjectWriter.h"
+#include "llvm/MC/MCFixupKindInfo.h"
 #include "llvm/MC/MCMachObjectWriter.h"
 #include "llvm/MC/MCSectionMachO.h"
 #include "llvm/MC/MCObjectWriter.h"
index 493a8f1aa5d7ca299ed4230771e550dbd1799ad1..6eae3859384859eb35b212c6488d91f9e785a0cf 100644 (file)
@@ -14,7 +14,6 @@
 #include "llvm/MC/MCAsmInfo.h"
 #include "llvm/MC/MCCodeGenInfo.h"
 #include "llvm/Target/TargetMachine.h"
-#include "llvm/Target/TargetOptions.h"
 #include "llvm/Support/CommandLine.h"
 using namespace llvm;
 
index 8f98a5b6503e15a981f3d12753fd580122bb42dc..cb408a137eab6f9ae9196425de878400a378aa7a 100644 (file)
@@ -74,7 +74,7 @@ static void PrintOps(Instruction *I, const SmallVectorImpl<ValueEntry> &Ops) {
 namespace {
   class Reassociate : public FunctionPass {
     DenseMap<BasicBlock*, unsigned> RankMap;
-    DenseMap<AssertingVH<>, unsigned> ValueRankMap;
+    DenseMap<AssertingVH<Value>, unsigned> ValueRankMap;
     SmallVector<WeakVH, 8> RedoInsts;
     SmallVector<WeakVH, 8> DeadInsts;
     bool MadeChange;
@@ -210,7 +210,7 @@ static BinaryOperator *isReassociableOp(Value *V, unsigned Opcode) {
 /// LowerNegateToMultiply - Replace 0-X with X*-1.
 ///
 static Instruction *LowerNegateToMultiply(Instruction *Neg,
-                              DenseMap<AssertingVH<>, unsigned> &ValueRankMap) {
+                         DenseMap<AssertingVH<Value>, unsigned> &ValueRankMap) {
   Constant *Cst = Constant::getAllOnesValue(Neg->getType());
 
   Instruction *Res = BinaryOperator::CreateMul(Neg->getOperand(1), Cst, "",Neg);
@@ -492,7 +492,7 @@ static bool ShouldBreakUpSubtract(Instruction *Sub) {
 /// only used by an add, transform this into (X+(0-Y)) to promote better
 /// reassociation.
 static Instruction *BreakUpSubtract(Instruction *Sub,
-                              DenseMap<AssertingVH<>, unsigned> &ValueRankMap) {
+                         DenseMap<AssertingVH<Value>, unsigned> &ValueRankMap) {
   // Convert a subtract into an add and a neg instruction. This allows sub
   // instructions to be commuted with other add instructions.
   //
@@ -517,8 +517,8 @@ static Instruction *BreakUpSubtract(Instruction *Sub,
 /// ConvertShiftToMul - If this is a shift of a reassociable multiply or is used
 /// by one, change this into a multiply by a constant to assist with further
 /// reassociation.
-static Instruction *ConvertShiftToMul(Instruction *Shl, 
-                              DenseMap<AssertingVH<>, unsigned> &ValueRankMap) {
+static Instruction *ConvertShiftToMul(Instruction *Shl,
+                         DenseMap<AssertingVH<Value>, unsigned> &ValueRankMap) {
   // If an operand of this shift is a reassociable multiply, or if the shift
   // is used by a reassociable multiply or add, turn into a multiply.
   if (isReassociableOp(Shl->getOperand(0), Instruction::Mul) ||