[llvm-commits] [llvm] r168972 - in /llvm/trunk: include/llvm/Analysis/MemoryBuiltins.h include/llvm/InstVisitor.h include/llvm/Support/InstVisitor.h lib/Analysis/InlineCost.cpp lib/Analysis/InstCount.cpp lib/Analysis/Lint.cpp lib/ExecutionEngine/Interpreter/Interpreter.h lib/Transforms/InstCombine/InstCombine.h lib/Transforms/Instrumentation/MemorySanitizer.cpp lib/Transforms/Scalar/SCCP.cpp lib/Transforms/Scalar/SROA.cpp lib/VMCore/Verifier.cpp tools/bugpoint-passes/TestPasses.cpp

Chandler Carruth chandlerc at gmail.com
Thu Nov 29 19:08:41 PST 2012


Author: chandlerc
Date: Thu Nov 29 21:08:41 2012
New Revision: 168972

URL: http://llvm.org/viewvc/llvm-project?rev=168972&view=rev
Log:
Move the InstVisitor utility into VMCore where it belongs. It heavily
depends on the IR infrastructure, there is no sense in it being off in
Support land.

This is in preparation to start working to expand InstVisitor into more
special-purpose visitors that are still generic and can be re-used
across different passes. The expansion will go into the Analylis tree
though as nothing in VMCore needs it.

Added:
    llvm/trunk/include/llvm/InstVisitor.h
      - copied, changed from r168965, llvm/trunk/include/llvm/Support/InstVisitor.h
Removed:
    llvm/trunk/include/llvm/Support/InstVisitor.h
Modified:
    llvm/trunk/include/llvm/Analysis/MemoryBuiltins.h
    llvm/trunk/lib/Analysis/InlineCost.cpp
    llvm/trunk/lib/Analysis/InstCount.cpp
    llvm/trunk/lib/Analysis/Lint.cpp
    llvm/trunk/lib/ExecutionEngine/Interpreter/Interpreter.h
    llvm/trunk/lib/Transforms/InstCombine/InstCombine.h
    llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    llvm/trunk/lib/Transforms/Scalar/SCCP.cpp
    llvm/trunk/lib/Transforms/Scalar/SROA.cpp
    llvm/trunk/lib/VMCore/Verifier.cpp
    llvm/trunk/tools/bugpoint-passes/TestPasses.cpp

Modified: llvm/trunk/include/llvm/Analysis/MemoryBuiltins.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/MemoryBuiltins.h?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/MemoryBuiltins.h (original)
+++ llvm/trunk/include/llvm/Analysis/MemoryBuiltins.h Thu Nov 29 21:08:41 2012
@@ -16,11 +16,11 @@
 #define LLVM_ANALYSIS_MEMORYBUILTINS_H
 
 #include "llvm/IRBuilder.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/Operator.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/Support/DataTypes.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/TargetFolder.h"
 #include "llvm/Support/ValueHandle.h"
 

Copied: llvm/trunk/include/llvm/InstVisitor.h (from r168965, llvm/trunk/include/llvm/Support/InstVisitor.h)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/InstVisitor.h?p2=llvm/trunk/include/llvm/InstVisitor.h&p1=llvm/trunk/include/llvm/Support/InstVisitor.h&r1=168965&r2=168972&rev=168972&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/InstVisitor.h (original)
+++ llvm/trunk/include/llvm/InstVisitor.h Thu Nov 29 21:08:41 2012
@@ -1,4 +1,4 @@
-//===- llvm/Support/InstVisitor.h - Define instruction visitors -*- C++ -*-===//
+//===- llvm/InstVisitor.h - Instruction visitor templates -------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -8,8 +8,8 @@
 //===----------------------------------------------------------------------===//
 
 
-#ifndef LLVM_SUPPORT_INSTVISITOR_H
-#define LLVM_SUPPORT_INSTVISITOR_H
+#ifndef LLVM_INSTVISITOR_H
+#define LLVM_INSTVISITOR_H
 
 #include "llvm/Function.h"
 #include "llvm/Instructions.h"

Removed: llvm/trunk/include/llvm/Support/InstVisitor.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/InstVisitor.h?rev=168971&view=auto
==============================================================================
--- llvm/trunk/include/llvm/Support/InstVisitor.h (original)
+++ llvm/trunk/include/llvm/Support/InstVisitor.h (removed)
@@ -1,288 +0,0 @@
-//===- llvm/Support/InstVisitor.h - Define instruction visitors -*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifndef LLVM_SUPPORT_INSTVISITOR_H
-#define LLVM_SUPPORT_INSTVISITOR_H
-
-#include "llvm/Function.h"
-#include "llvm/Instructions.h"
-#include "llvm/Intrinsics.h"
-#include "llvm/IntrinsicInst.h"
-#include "llvm/Module.h"
-#include "llvm/Support/CallSite.h"
-#include "llvm/Support/ErrorHandling.h"
-
-namespace llvm {
-
-// We operate on opaque instruction classes, so forward declare all instruction
-// types now...
-//
-#define HANDLE_INST(NUM, OPCODE, CLASS)   class CLASS;
-#include "llvm/Instruction.def"
-
-#define DELEGATE(CLASS_TO_VISIT) \
-  return static_cast<SubClass*>(this)-> \
-               visit##CLASS_TO_VISIT(static_cast<CLASS_TO_VISIT&>(I))
-
-
-/// @brief Base class for instruction visitors
-///
-/// Instruction visitors are used when you want to perform different actions
-/// for different kinds of instructions without having to use lots of casts
-/// and a big switch statement (in your code, that is).
-///
-/// To define your own visitor, inherit from this class, specifying your
-/// new type for the 'SubClass' template parameter, and "override" visitXXX
-/// functions in your class. I say "override" because this class is defined
-/// in terms of statically resolved overloading, not virtual functions.
-///
-/// For example, here is a visitor that counts the number of malloc
-/// instructions processed:
-///
-///  /// Declare the class.  Note that we derive from InstVisitor instantiated
-///  /// with _our new subclasses_ type.
-///  ///
-///  struct CountAllocaVisitor : public InstVisitor<CountAllocaVisitor> {
-///    unsigned Count;
-///    CountAllocaVisitor() : Count(0) {}
-///
-///    void visitAllocaInst(AllocaInst &AI) { ++Count; }
-///  };
-///
-///  And this class would be used like this:
-///    CountAllocaVisitor CAV;
-///    CAV.visit(function);
-///    NumAllocas = CAV.Count;
-///
-/// The defined has 'visit' methods for Instruction, and also for BasicBlock,
-/// Function, and Module, which recursively process all contained instructions.
-///
-/// Note that if you don't implement visitXXX for some instruction type,
-/// the visitXXX method for instruction superclass will be invoked. So
-/// if instructions are added in the future, they will be automatically
-/// supported, if you handle one of their superclasses.
-///
-/// The optional second template argument specifies the type that instruction
-/// visitation functions should return. If you specify this, you *MUST* provide
-/// an implementation of visitInstruction though!.
-///
-/// Note that this class is specifically designed as a template to avoid
-/// virtual function call overhead.  Defining and using an InstVisitor is just
-/// as efficient as having your own switch statement over the instruction
-/// opcode.
-template<typename SubClass, typename RetTy=void>
-class InstVisitor {
-  //===--------------------------------------------------------------------===//
-  // Interface code - This is the public interface of the InstVisitor that you
-  // use to visit instructions...
-  //
-
-public:
-  // Generic visit method - Allow visitation to all instructions in a range
-  template<class Iterator>
-  void visit(Iterator Start, Iterator End) {
-    while (Start != End)
-      static_cast<SubClass*>(this)->visit(*Start++);
-  }
-
-  // Define visitors for functions and basic blocks...
-  //
-  void visit(Module &M) {
-    static_cast<SubClass*>(this)->visitModule(M);
-    visit(M.begin(), M.end());
-  }
-  void visit(Function &F) {
-    static_cast<SubClass*>(this)->visitFunction(F);
-    visit(F.begin(), F.end());
-  }
-  void visit(BasicBlock &BB) {
-    static_cast<SubClass*>(this)->visitBasicBlock(BB);
-    visit(BB.begin(), BB.end());
-  }
-
-  // Forwarding functions so that the user can visit with pointers AND refs.
-  void visit(Module       *M)  { visit(*M); }
-  void visit(Function     *F)  { visit(*F); }
-  void visit(BasicBlock   *BB) { visit(*BB); }
-  RetTy visit(Instruction *I)  { return visit(*I); }
-
-  // visit - Finally, code to visit an instruction...
-  //
-  RetTy visit(Instruction &I) {
-    switch (I.getOpcode()) {
-    default: llvm_unreachable("Unknown instruction type encountered!");
-      // Build the switch statement using the Instruction.def file...
-#define HANDLE_INST(NUM, OPCODE, CLASS) \
-    case Instruction::OPCODE: return \
-           static_cast<SubClass*>(this)-> \
-                      visit##OPCODE(static_cast<CLASS&>(I));
-#include "llvm/Instruction.def"
-    }
-  }
-
-  //===--------------------------------------------------------------------===//
-  // Visitation functions... these functions provide default fallbacks in case
-  // the user does not specify what to do for a particular instruction type.
-  // The default behavior is to generalize the instruction type to its subtype
-  // and try visiting the subtype.  All of this should be inlined perfectly,
-  // because there are no virtual functions to get in the way.
-  //
-
-  // When visiting a module, function or basic block directly, these methods get
-  // called to indicate when transitioning into a new unit.
-  //
-  void visitModule    (Module &M) {}
-  void visitFunction  (Function &F) {}
-  void visitBasicBlock(BasicBlock &BB) {}
-
-  // Define instruction specific visitor functions that can be overridden to
-  // handle SPECIFIC instructions.  These functions automatically define
-  // visitMul to proxy to visitBinaryOperator for instance in case the user does
-  // not need this generality.
-  //
-  // These functions can also implement fan-out, when a single opcode and
-  // instruction have multiple more specific Instruction subclasses. The Call
-  // instruction currently supports this. We implement that by redirecting that
-  // instruction to a special delegation helper.
-#define HANDLE_INST(NUM, OPCODE, CLASS) \
-    RetTy visit##OPCODE(CLASS &I) { \
-      if (NUM == Instruction::Call) \
-        return delegateCallInst(I); \
-      else \
-        DELEGATE(CLASS); \
-    }
-#include "llvm/Instruction.def"
-
-  // Specific Instruction type classes... note that all of the casts are
-  // necessary because we use the instruction classes as opaque types...
-  //
-  RetTy visitReturnInst(ReturnInst &I)            { DELEGATE(TerminatorInst);}
-  RetTy visitBranchInst(BranchInst &I)            { DELEGATE(TerminatorInst);}
-  RetTy visitSwitchInst(SwitchInst &I)            { DELEGATE(TerminatorInst);}
-  RetTy visitIndirectBrInst(IndirectBrInst &I)    { DELEGATE(TerminatorInst);}
-  RetTy visitResumeInst(ResumeInst &I)            { DELEGATE(TerminatorInst);}
-  RetTy visitUnreachableInst(UnreachableInst &I)  { DELEGATE(TerminatorInst);}
-  RetTy visitICmpInst(ICmpInst &I)                { DELEGATE(CmpInst);}
-  RetTy visitFCmpInst(FCmpInst &I)                { DELEGATE(CmpInst);}
-  RetTy visitAllocaInst(AllocaInst &I)            { DELEGATE(UnaryInstruction);}
-  RetTy visitLoadInst(LoadInst     &I)            { DELEGATE(UnaryInstruction);}
-  RetTy visitStoreInst(StoreInst   &I)            { DELEGATE(Instruction);}
-  RetTy visitAtomicCmpXchgInst(AtomicCmpXchgInst &I) { DELEGATE(Instruction);}
-  RetTy visitAtomicRMWInst(AtomicRMWInst &I)      { DELEGATE(Instruction);}
-  RetTy visitFenceInst(FenceInst   &I)            { DELEGATE(Instruction);}
-  RetTy visitGetElementPtrInst(GetElementPtrInst &I){ DELEGATE(Instruction);}
-  RetTy visitPHINode(PHINode       &I)            { DELEGATE(Instruction);}
-  RetTy visitTruncInst(TruncInst &I)              { DELEGATE(CastInst);}
-  RetTy visitZExtInst(ZExtInst &I)                { DELEGATE(CastInst);}
-  RetTy visitSExtInst(SExtInst &I)                { DELEGATE(CastInst);}
-  RetTy visitFPTruncInst(FPTruncInst &I)          { DELEGATE(CastInst);}
-  RetTy visitFPExtInst(FPExtInst &I)              { DELEGATE(CastInst);}
-  RetTy visitFPToUIInst(FPToUIInst &I)            { DELEGATE(CastInst);}
-  RetTy visitFPToSIInst(FPToSIInst &I)            { DELEGATE(CastInst);}
-  RetTy visitUIToFPInst(UIToFPInst &I)            { DELEGATE(CastInst);}
-  RetTy visitSIToFPInst(SIToFPInst &I)            { DELEGATE(CastInst);}
-  RetTy visitPtrToIntInst(PtrToIntInst &I)        { DELEGATE(CastInst);}
-  RetTy visitIntToPtrInst(IntToPtrInst &I)        { DELEGATE(CastInst);}
-  RetTy visitBitCastInst(BitCastInst &I)          { DELEGATE(CastInst);}
-  RetTy visitSelectInst(SelectInst &I)            { DELEGATE(Instruction);}
-  RetTy visitVAArgInst(VAArgInst   &I)            { DELEGATE(UnaryInstruction);}
-  RetTy visitExtractElementInst(ExtractElementInst &I) { DELEGATE(Instruction);}
-  RetTy visitInsertElementInst(InsertElementInst &I) { DELEGATE(Instruction);}
-  RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction);}
-  RetTy visitExtractValueInst(ExtractValueInst &I){ DELEGATE(UnaryInstruction);}
-  RetTy visitInsertValueInst(InsertValueInst &I)  { DELEGATE(Instruction); }
-  RetTy visitLandingPadInst(LandingPadInst &I)    { DELEGATE(Instruction); }
-
-  // Handle the special instrinsic instruction classes.
-  RetTy visitDbgDeclareInst(DbgDeclareInst &I)    { DELEGATE(DbgInfoIntrinsic);}
-  RetTy visitDbgValueInst(DbgValueInst &I)        { DELEGATE(DbgInfoIntrinsic);}
-  RetTy visitDbgInfoIntrinsic(DbgInfoIntrinsic &I) { DELEGATE(IntrinsicInst); }
-  RetTy visitMemSetInst(MemSetInst &I)            { DELEGATE(MemIntrinsic); }
-  RetTy visitMemCpyInst(MemCpyInst &I)            { DELEGATE(MemTransferInst); }
-  RetTy visitMemMoveInst(MemMoveInst &I)          { DELEGATE(MemTransferInst); }
-  RetTy visitMemTransferInst(MemTransferInst &I)  { DELEGATE(MemIntrinsic); }
-  RetTy visitMemIntrinsic(MemIntrinsic &I)        { DELEGATE(IntrinsicInst); }
-  RetTy visitVAStartInst(VAStartInst &I)          { DELEGATE(IntrinsicInst); }
-  RetTy visitVAEndInst(VAEndInst &I)              { DELEGATE(IntrinsicInst); }
-  RetTy visitVACopyInst(VACopyInst &I)            { DELEGATE(IntrinsicInst); }
-  RetTy visitIntrinsicInst(IntrinsicInst &I)      { DELEGATE(CallInst); }
-
-  // Call and Invoke are slightly different as they delegate first through
-  // a generic CallSite visitor.
-  RetTy visitCallInst(CallInst &I) {
-    return static_cast<SubClass*>(this)->visitCallSite(&I);
-  }
-  RetTy visitInvokeInst(InvokeInst &I) {
-    return static_cast<SubClass*>(this)->visitCallSite(&I);
-  }
-
-  // Next level propagators: If the user does not overload a specific
-  // instruction type, they can overload one of these to get the whole class
-  // of instructions...
-  //
-  RetTy visitCastInst(CastInst &I)                { DELEGATE(UnaryInstruction);}
-  RetTy visitBinaryOperator(BinaryOperator &I)    { DELEGATE(Instruction);}
-  RetTy visitCmpInst(CmpInst &I)                  { DELEGATE(Instruction);}
-  RetTy visitTerminatorInst(TerminatorInst &I)    { DELEGATE(Instruction);}
-  RetTy visitUnaryInstruction(UnaryInstruction &I){ DELEGATE(Instruction);}
-
-  // Provide a special visitor for a 'callsite' that visits both calls and
-  // invokes. When unimplemented, properly delegates to either the terminator or
-  // regular instruction visitor.
-  RetTy visitCallSite(CallSite CS) {
-    assert(CS);
-    Instruction &I = *CS.getInstruction();
-    if (CS.isCall())
-      DELEGATE(Instruction);
-
-    assert(CS.isInvoke());
-    DELEGATE(TerminatorInst);
-  }
-
-  // If the user wants a 'default' case, they can choose to override this
-  // function.  If this function is not overloaded in the user's subclass, then
-  // this instruction just gets ignored.
-  //
-  // Note that you MUST override this function if your return type is not void.
-  //
-  void visitInstruction(Instruction &I) {}  // Ignore unhandled instructions
-
-private:
-  // Special helper function to delegate to CallInst subclass visitors.
-  RetTy delegateCallInst(CallInst &I) {
-    if (const Function *F = I.getCalledFunction()) {
-      switch ((Intrinsic::ID)F->getIntrinsicID()) {
-      default:                     DELEGATE(IntrinsicInst);
-      case Intrinsic::dbg_declare: DELEGATE(DbgDeclareInst);
-      case Intrinsic::dbg_value:   DELEGATE(DbgValueInst);
-      case Intrinsic::memcpy:      DELEGATE(MemCpyInst);
-      case Intrinsic::memmove:     DELEGATE(MemMoveInst);
-      case Intrinsic::memset:      DELEGATE(MemSetInst);
-      case Intrinsic::vastart:     DELEGATE(VAStartInst);
-      case Intrinsic::vaend:       DELEGATE(VAEndInst);
-      case Intrinsic::vacopy:      DELEGATE(VACopyInst);
-      case Intrinsic::not_intrinsic: break;
-      }
-    }
-    DELEGATE(CallInst);
-  }
-
-  // An overload that will never actually be called, it is used only from dead
-  // code in the dispatching from opcodes to instruction subclasses.
-  RetTy delegateCallInst(Instruction &I) {
-    llvm_unreachable("delegateCallInst called for non-CallInst");
-  }
-};
-
-#undef DELEGATE
-
-} // End llvm namespace
-
-#endif

Modified: llvm/trunk/lib/Analysis/InlineCost.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/InlineCost.cpp?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/InlineCost.cpp (original)
+++ llvm/trunk/lib/Analysis/InlineCost.cpp Thu Nov 29 21:08:41 2012
@@ -17,10 +17,10 @@
 #include "llvm/Analysis/InstructionSimplify.h"
 #include "llvm/Support/CallSite.h"
 #include "llvm/Support/Debug.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/GetElementPtrTypeIterator.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/CallingConv.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/IntrinsicInst.h"
 #include "llvm/Operator.h"
 #include "llvm/GlobalAlias.h"

Modified: llvm/trunk/lib/Analysis/InstCount.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/InstCount.cpp?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/InstCount.cpp (original)
+++ llvm/trunk/lib/Analysis/InstCount.cpp Thu Nov 29 21:08:41 2012
@@ -13,11 +13,11 @@
 
 #define DEBUG_TYPE "instcount"
 #include "llvm/Analysis/Passes.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/Pass.h"
 #include "llvm/Function.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/ErrorHandling.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/ADT/Statistic.h"
 using namespace llvm;

Modified: llvm/trunk/lib/Analysis/Lint.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/Lint.cpp?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/Lint.cpp (original)
+++ llvm/trunk/lib/Analysis/Lint.cpp Thu Nov 29 21:08:41 2012
@@ -47,11 +47,11 @@
 #include "llvm/Target/TargetLibraryInfo.h"
 #include "llvm/Pass.h"
 #include "llvm/PassManager.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/IntrinsicInst.h"
 #include "llvm/Function.h"
 #include "llvm/Support/CallSite.h"
 #include "llvm/Support/Debug.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/ADT/STLExtras.h"
 using namespace llvm;

Modified: llvm/trunk/lib/ExecutionEngine/Interpreter/Interpreter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/Interpreter/Interpreter.h?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/Interpreter/Interpreter.h (original)
+++ llvm/trunk/lib/ExecutionEngine/Interpreter/Interpreter.h Thu Nov 29 21:08:41 2012
@@ -14,14 +14,14 @@
 #ifndef LLI_INTERPRETER_H
 #define LLI_INTERPRETER_H
 
+#include "llvm/DataLayout.h"
 #include "llvm/Function.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/ExecutionEngine/ExecutionEngine.h"
 #include "llvm/ExecutionEngine/GenericValue.h"
-#include "llvm/DataLayout.h"
 #include "llvm/Support/CallSite.h"
 #include "llvm/Support/DataTypes.h"
 #include "llvm/Support/ErrorHandling.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/raw_ostream.h"
 namespace llvm {
 

Modified: llvm/trunk/lib/Transforms/InstCombine/InstCombine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstCombine.h?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/InstCombine/InstCombine.h (original)
+++ llvm/trunk/lib/Transforms/InstCombine/InstCombine.h Thu Nov 29 21:08:41 2012
@@ -12,11 +12,11 @@
 
 #include "InstCombineWorklist.h"
 #include "llvm/IRBuilder.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/IntrinsicInst.h"
 #include "llvm/Operator.h"
 #include "llvm/Pass.h"
 #include "llvm/Analysis/ValueTracking.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/TargetFolder.h"
 #include "llvm/Transforms/Utils/SimplifyLibCalls.h"
 

Modified: llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp (original)
+++ llvm/trunk/lib/Transforms/Instrumentation/MemorySanitizer.cpp Thu Nov 29 21:08:41 2012
@@ -51,6 +51,7 @@
 #include "llvm/DataLayout.h"
 #include "llvm/Function.h"
 #include "llvm/InlineAsm.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/IntrinsicInst.h"
 #include "llvm/IRBuilder.h"
 #include "llvm/LLVMContext.h"
@@ -67,7 +68,6 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/Debug.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Transforms/Instrumentation.h"
 #include "llvm/Transforms/Utils/BasicBlockUtils.h"

Modified: llvm/trunk/lib/Transforms/Scalar/SCCP.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SCCP.cpp?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/SCCP.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/SCCP.cpp Thu Nov 29 21:08:41 2012
@@ -22,6 +22,7 @@
 #include "llvm/Transforms/IPO.h"
 #include "llvm/Constants.h"
 #include "llvm/DerivedTypes.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/Instructions.h"
 #include "llvm/Pass.h"
 #include "llvm/Analysis/ConstantFolding.h"
@@ -31,7 +32,6 @@
 #include "llvm/Support/CallSite.h"
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/ErrorHandling.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/DenseSet.h"

Modified: llvm/trunk/lib/Transforms/Scalar/SROA.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SROA.cpp?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/SROA.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/SROA.cpp Thu Nov 29 21:08:41 2012
@@ -31,6 +31,7 @@
 #include "llvm/DerivedTypes.h"
 #include "llvm/Function.h"
 #include "llvm/IRBuilder.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/Instructions.h"
 #include "llvm/IntrinsicInst.h"
 #include "llvm/LLVMContext.h"
@@ -48,7 +49,6 @@
 #include "llvm/Support/Debug.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/GetElementPtrTypeIterator.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/DataLayout.h"

Modified: llvm/trunk/lib/VMCore/Verifier.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Verifier.cpp?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/Verifier.cpp (original)
+++ llvm/trunk/lib/VMCore/Verifier.cpp Thu Nov 29 21:08:41 2012
@@ -50,6 +50,7 @@
 #include "llvm/Constants.h"
 #include "llvm/DerivedTypes.h"
 #include "llvm/InlineAsm.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/IntrinsicInst.h"
 #include "llvm/LLVMContext.h"
 #include "llvm/Metadata.h"
@@ -62,7 +63,6 @@
 #include "llvm/Support/CallSite.h"
 #include "llvm/Support/CFG.h"
 #include "llvm/Support/Debug.h"
-#include "llvm/Support/InstVisitor.h"
 #include "llvm/ADT/SetVector.h"
 #include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/ADT/SmallVector.h"

Modified: llvm/trunk/tools/bugpoint-passes/TestPasses.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint-passes/TestPasses.cpp?rev=168972&r1=168971&r2=168972&view=diff
==============================================================================
--- llvm/trunk/tools/bugpoint-passes/TestPasses.cpp (original)
+++ llvm/trunk/tools/bugpoint-passes/TestPasses.cpp Thu Nov 29 21:08:41 2012
@@ -14,10 +14,10 @@
 
 #include "llvm/BasicBlock.h"
 #include "llvm/Constant.h"
+#include "llvm/InstVisitor.h"
 #include "llvm/Instructions.h"
 #include "llvm/Pass.h"
 #include "llvm/Type.h"
-#include "llvm/Support/InstVisitor.h"
 
 using namespace llvm;
 





More information about the llvm-commits mailing list