<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Aug 1, 2015 at 3:20 PM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: ctopper<br>
Date: Sat Aug  1 17:20:21 2015<br>
New Revision: 243842<br>
<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D243842-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=VZ_V7Jriyu98jNSJNFLuIm0_N1vy6MO7MGT5wMPDS8Q&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=243842&view=rev</a><br>
Log:<br>
De-constify pointers to Type since they can't be modified. NFC<br>
<br>
This was already done in most places a while ago. This just fixes the ones that crept in over time.<br></blockquote><div><br></div><div>Nice - thanks!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Modified:<br>
    llvm/trunk/include/llvm/IR/Attributes.h<br>
    llvm/trunk/include/llvm/IR/Constants.h<br>
    llvm/trunk/include/llvm/IR/DerivedTypes.h<br>
    llvm/trunk/include/llvm/IR/Type.h<br>
    llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp<br>
    llvm/trunk/lib/Analysis/VectorUtils.cpp<br>
    llvm/trunk/lib/AsmParser/LLParser.cpp<br>
    llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp<br>
    llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp<br>
    llvm/trunk/lib/IR/Attributes.cpp<br>
    llvm/trunk/lib/IR/ConstantFold.cpp<br>
    llvm/trunk/lib/IR/Constants.cpp<br>
    llvm/trunk/lib/IR/Type.cpp<br>
    llvm/trunk/lib/IR/Verifier.cpp<br>
    llvm/trunk/lib/Target/AArch64/AArch64FastISel.cpp<br>
    llvm/trunk/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp<br>
    llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp<br>
    llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp<br>
    llvm/trunk/lib/Target/Mips/Mips16HardFloat.cpp<br>
    llvm/trunk/lib/Target/Mips/MipsCCState.cpp<br>
    llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpp<br>
    llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.h<br>
    llvm/trunk/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp<br>
    llvm/trunk/lib/Target/NVPTX/NVPTXISelLowering.cpp<br>
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp<br>
    llvm/trunk/lib/Target/X86/X86ISelLowering.h<br>
    llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp<br>
    llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp<br>
    llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp<br>
    llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/IR/Attributes.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_include_llvm_IR_Attributes.h-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=5yN_C3Bc_PtLmCe7dt7vNOSrQRkhp1wk_qNzAc2kpw4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Attributes.h?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/IR/Attributes.h (original)<br>
+++ llvm/trunk/include/llvm/IR/Attributes.h Sat Aug  1 17:20:21 2015<br>
@@ -573,7 +573,7 @@ public:<br>
 namespace AttributeFuncs {<br>
<br>
 /// \brief Which attributes cannot be applied to a type.<br>
-AttrBuilder typeIncompatible(const Type *Ty);<br>
+AttrBuilder typeIncompatible(Type *Ty);<br>
<br>
 } // end AttributeFuncs namespace<br>
<br>
<br>
Modified: llvm/trunk/include/llvm/IR/Constants.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_include_llvm_IR_Constants.h-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=CzdCZtkCFdO2qoYZ45An2poa_UuItt7aLBV_P1ZMQIg&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Constants.h?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/IR/Constants.h (original)<br>
+++ llvm/trunk/include/llvm/IR/Constants.h Sat Aug  1 17:20:21 2015<br>
@@ -590,7 +590,7 @@ public:<br>
   /// formed with a vector or array of the specified element type.<br>
   /// ConstantDataArray only works with normal float and int types that are<br>
   /// stored densely in memory, not with things like i42 or x86_f80.<br>
-  static bool isElementTypeCompatible(const Type *Ty);<br>
+  static bool isElementTypeCompatible(Type *Ty);<br>
<br>
   /// getElementAsInteger - If this is a sequential container of integers (of<br>
   /// any size), return the specified element in the low bits of a uint64_t.<br>
<br>
Modified: llvm/trunk/include/llvm/IR/DerivedTypes.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_include_llvm_IR_DerivedTypes.h-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=UP6p1qL2LNmImwKR7dhPWG0OmFPtX60WEDdzLPmm_vE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DerivedTypes.h?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/IR/DerivedTypes.h (original)<br>
+++ llvm/trunk/include/llvm/IR/DerivedTypes.h Sat Aug  1 17:20:21 2015<br>
@@ -250,7 +250,7 @@ public:<br>
   bool isOpaque() const { return (getSubclassData() & SCDB_HasBody) == 0; }<br>
<br>
   /// isSized - Return true if this is a sized type.<br>
-  bool isSized(SmallPtrSetImpl<const Type*> *Visited = nullptr) const;<br>
+  bool isSized(SmallPtrSetImpl<Type*> *Visited = nullptr) const;<br>
<br>
   /// hasName - Return true if this is a named struct that has a non-empty name.<br>
   bool hasName() const { return SymbolTableEntry != nullptr; }<br>
<br>
Modified: llvm/trunk/include/llvm/IR/Type.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_include_llvm_IR_Type.h-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=HUl7sfDcDSZgGl6rBNIB8adpdRm-NItliRU8Uf9PNqQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Type.h?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/IR/Type.h (original)<br>
+++ llvm/trunk/include/llvm/IR/Type.h Sat Aug  1 17:20:21 2015<br>
@@ -265,7 +265,7 @@ public:<br>
   /// get the actual size for a particular target, it is reasonable to use the<br>
   /// DataLayout subsystem to do this.<br>
   ///<br>
-  bool isSized(SmallPtrSetImpl<const Type*> *Visited = nullptr) const {<br>
+  bool isSized(SmallPtrSetImpl<Type*> *Visited = nullptr) const {<br>
     // If it's a primitive, it is always sized.<br>
     if (getTypeID() == IntegerTyID || isFloatingPointTy() ||<br>
         getTypeID() == PointerTyID ||<br>
@@ -423,7 +423,7 @@ private:<br>
   /// isSizedDerivedType - Derived types like structures and arrays are sized<br>
   /// iff all of the members of the type are sized as well.  Since asking for<br>
   /// their size is relatively uncommon, move this operation out of line.<br>
-  bool isSizedDerivedType(SmallPtrSetImpl<const Type*> *Visited = nullptr) const;<br>
+  bool isSizedDerivedType(SmallPtrSetImpl<Type*> *Visited = nullptr) const;<br>
 };<br>
<br>
 // Printing of types.<br>
<br>
Modified: llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Analysis_LoopAccessAnalysis.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=10scgqak-MGp67FAqS8SWgbsGbZTu-ekzZKl3aPbpgk&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp (original)<br>
+++ llvm/trunk/lib/Analysis/LoopAccessAnalysis.cpp Sat Aug  1 17:20:21 2015<br>
@@ -830,11 +830,11 @@ static bool isNoWrapAddRec(Value *Ptr, c<br>
 /// \brief Check whether the access through \p Ptr has a constant stride.<br>
 int llvm::isStridedPtr(ScalarEvolution *SE, Value *Ptr, const Loop *Lp,<br>
                        const ValueToValueMap &StridesMap) {<br>
-  const Type *Ty = Ptr->getType();<br>
+  Type *Ty = Ptr->getType();<br>
   assert(Ty->isPointerTy() && "Unexpected non-ptr");<br>
<br>
   // Make sure that the pointer does not point to aggregate types.<br>
-  const PointerType *PtrTy = cast<PointerType>(Ty);<br>
+  auto *PtrTy = cast<PointerType>(Ty);<br>
   if (PtrTy->getElementType()->isAggregateType()) {<br>
     DEBUG(dbgs() << "LAA: Bad stride - Not a pointer to a scalar type"<br>
           << *Ptr << "\n");<br>
<br>
Modified: llvm/trunk/lib/Analysis/VectorUtils.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Analysis_VectorUtils.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=tROGg9sUg0Hv5aAWQ906zktBOPNWsw08me5bo1UVE8E&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/VectorUtils.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Analysis/VectorUtils.cpp (original)<br>
+++ llvm/trunk/lib/Analysis/VectorUtils.cpp Sat Aug  1 17:20:21 2015<br>
@@ -283,7 +283,7 @@ llvm::Value *llvm::getUniqueCastUse(llvm<br>
 /// strides "a[i*stride]". Returns the symbolic stride, or null otherwise.<br>
 llvm::Value *llvm::getStrideFromPointer(llvm::Value *Ptr, ScalarEvolution *SE,<br>
                                         Loop *Lp) {<br>
-  const PointerType *PtrTy = dyn_cast<PointerType>(Ptr->getType());<br>
+  auto *PtrTy = dyn_cast<PointerType>(Ptr->getType());<br>
   if (!PtrTy || PtrTy->isAggregateType())<br>
     return nullptr;<br>
<br>
<br>
Modified: llvm/trunk/lib/AsmParser/LLParser.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_AsmParser_LLParser.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=MLLcg6E6xda6mTklzZhDWCMu5TX6EX0sdf4bV2-FuC0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/LLParser.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/AsmParser/LLParser.cpp (original)<br>
+++ llvm/trunk/lib/AsmParser/LLParser.cpp Sat Aug  1 17:20:21 2015<br>
@@ -2905,7 +2905,7 @@ bool LLParser::ParseValID(ValID &ID, Per<br>
         }<br>
       }<br>
<br>
-      SmallPtrSet<const Type*, 4> Visited;<br>
+      SmallPtrSet<Type*, 4> Visited;<br>
       if (!Indices.empty() && !Ty->isSized(&Visited))<br>
         return Error(ID.Loc, "base element of getelementptr must be sized");<br>
<br>
@@ -5817,7 +5817,7 @@ int LLParser::ParseGetElementPtr(Instruc<br>
     Indices.push_back(Val);<br>
   }<br>
<br>
-  SmallPtrSet<const Type*, 4> Visited;<br>
+  SmallPtrSet<Type*, 4> Visited;<br>
   if (!Indices.empty() && !Ty->isSized(&Visited))<br>
     return Error(Loc, "base element of getelementptr must be sized");<br>
<br>
<br>
Modified: llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_ExecutionEngine_ExecutionEngine.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=vqhjYTMZwqQ6IyLpGdevfk6uPb_31Mij5qveVTLgEIg&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp (original)<br>
+++ llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp Sat Aug  1 17:20:21 2015<br>
@@ -630,8 +630,8 @@ GenericValue ExecutionEngine::getConstan<br>
       break;<br>
     case Type::VectorTyID:<br>
       // if the whole vector is 'undef' just reserve memory for the value.<br>
-      const VectorType* VTy = dyn_cast<VectorType>(C->getType());<br>
-      const Type *ElemTy = VTy->getElementType();<br>
+      auto* VTy = dyn_cast<VectorType>(C->getType());<br>
+      Type *ElemTy = VTy->getElementType();<br>
       unsigned int elemNum = VTy->getNumElements();<br>
       Result.AggregateVal.resize(elemNum);<br>
       if (ElemTy->isIntegerTy())<br>
@@ -1152,8 +1152,8 @@ void ExecutionEngine::LoadValueFromMemor<br>
     break;<br>
   }<br>
   case Type::VectorTyID: {<br>
-    const VectorType *VT = cast<VectorType>(Ty);<br>
-    const Type *ElemT = VT->getElementType();<br>
+    auto *VT = cast<VectorType>(Ty);<br>
+    Type *ElemT = VT->getElementType();<br>
     const unsigned numElems = VT->getNumElements();<br>
     if (ElemT->isFloatTy()) {<br>
       Result.AggregateVal.resize(numElems);<br>
<br>
Modified: llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_ExecutionEngine_Interpreter_Execution.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=sqRb9dLpLaycQWJDn_8eDsMZPjOLUJPNd9pAdUQczag&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp (original)<br>
+++ llvm/trunk/lib/ExecutionEngine/Interpreter/Execution.cpp Sat Aug  1 17:20:21 2015<br>
@@ -593,7 +593,7 @@ static GenericValue executeFCMP_UNO(Gene<br>
 }<br>
<br>
 static GenericValue executeFCMP_BOOL(GenericValue Src1, GenericValue Src2,<br>
-                                    const Type *Ty, const bool val) {<br>
+                                     Type *Ty, const bool val) {<br>
   GenericValue Dest;<br>
     if(Ty->isVectorTy()) {<br>
       assert(Src1.AggregateVal.size() == Src2.AggregateVal.size());<br>
@@ -788,7 +788,7 @@ void Interpreter::visitBinaryOperator(Bi<br>
 }<br>
<br>
 static GenericValue executeSelectInst(GenericValue Src1, GenericValue Src2,<br>
-                                      GenericValue Src3, const Type *Ty) {<br>
+                                      GenericValue Src3, Type *Ty) {<br>
     GenericValue Dest;<br>
     if(Ty->isVectorTy()) {<br>
       assert(Src1.AggregateVal.size() == Src2.AggregateVal.size());<br>
@@ -805,7 +805,7 @@ static GenericValue executeSelectInst(Ge<br>
<br>
 void Interpreter::visitSelectInst(SelectInst &I) {<br>
   ExecutionContext &SF = ECStack.back();<br>
-  const Type * Ty = I.getOperand(0)->getType();<br>
+  Type * Ty = I.getOperand(0)->getType();<br>
   GenericValue Src1 = getOperandValue(I.getOperand(0), SF);<br>
   GenericValue Src2 = getOperandValue(I.getOperand(1), SF);<br>
   GenericValue Src3 = getOperandValue(I.getOperand(2), SF);<br>
@@ -1139,7 +1139,7 @@ void Interpreter::visitShl(BinaryOperato<br>
   GenericValue Src1 = getOperandValue(I.getOperand(0), SF);<br>
   GenericValue Src2 = getOperandValue(I.getOperand(1), SF);<br>
   GenericValue Dest;<br>
-  const Type *Ty = I.getType();<br>
+  Type *Ty = I.getType();<br>
<br>
   if (Ty->isVectorTy()) {<br>
     uint32_t src1Size = uint32_t(Src1.AggregateVal.size());<br>
@@ -1166,7 +1166,7 @@ void Interpreter::visitLShr(BinaryOperat<br>
   GenericValue Src1 = getOperandValue(I.getOperand(0), SF);<br>
   GenericValue Src2 = getOperandValue(I.getOperand(1), SF);<br>
   GenericValue Dest;<br>
-  const Type *Ty = I.getType();<br>
+  Type *Ty = I.getType();<br>
<br>
   if (Ty->isVectorTy()) {<br>
     uint32_t src1Size = uint32_t(Src1.AggregateVal.size());<br>
@@ -1193,7 +1193,7 @@ void Interpreter::visitAShr(BinaryOperat<br>
   GenericValue Src1 = getOperandValue(I.getOperand(0), SF);<br>
   GenericValue Src2 = getOperandValue(I.getOperand(1), SF);<br>
   GenericValue Dest;<br>
-  const Type *Ty = I.getType();<br>
+  Type *Ty = I.getType();<br>
<br>
   if (Ty->isVectorTy()) {<br>
     size_t src1Size = Src1.AggregateVal.size();<br>
@@ -1237,10 +1237,10 @@ GenericValue Interpreter::executeTruncIn<br>
<br>
 GenericValue Interpreter::executeSExtInst(Value *SrcVal, Type *DstTy,<br>
                                           ExecutionContext &SF) {<br>
-  const Type *SrcTy = SrcVal->getType();<br>
+  Type *SrcTy = SrcVal->getType();<br>
   GenericValue Dest, Src = getOperandValue(SrcVal, SF);<br>
   if (SrcTy->isVectorTy()) {<br>
-    const Type *DstVecTy = DstTy->getScalarType();<br>
+    Type *DstVecTy = DstTy->getScalarType();<br>
     unsigned DBitWidth = cast<IntegerType>(DstVecTy)->getBitWidth();<br>
     unsigned size = Src.AggregateVal.size();<br>
     // the sizes of src and dst vectors must be equal.<br>
@@ -1248,7 +1248,7 @@ GenericValue Interpreter::executeSExtIns<br>
     for (unsigned i = 0; i < size; i++)<br>
       Dest.AggregateVal[i].IntVal = Src.AggregateVal[i].IntVal.sext(DBitWidth);<br>
   } else {<br>
-    const IntegerType *DITy = cast<IntegerType>(DstTy);<br>
+    auto *DITy = cast<IntegerType>(DstTy);<br>
     unsigned DBitWidth = DITy->getBitWidth();<br>
     Dest.IntVal = Src.IntVal.sext(DBitWidth);<br>
   }<br>
@@ -1257,10 +1257,10 @@ GenericValue Interpreter::executeSExtIns<br>
<br>
 GenericValue Interpreter::executeZExtInst(Value *SrcVal, Type *DstTy,<br>
                                           ExecutionContext &SF) {<br>
-  const Type *SrcTy = SrcVal->getType();<br>
+  Type *SrcTy = SrcVal->getType();<br>
   GenericValue Dest, Src = getOperandValue(SrcVal, SF);<br>
   if (SrcTy->isVectorTy()) {<br>
-    const Type *DstVecTy = DstTy->getScalarType();<br>
+    Type *DstVecTy = DstTy->getScalarType();<br>
     unsigned DBitWidth = cast<IntegerType>(DstVecTy)->getBitWidth();<br>
<br>
     unsigned size = Src.AggregateVal.size();<br>
@@ -1269,7 +1269,7 @@ GenericValue Interpreter::executeZExtIns<br>
     for (unsigned i = 0; i < size; i++)<br>
       Dest.AggregateVal[i].IntVal = Src.AggregateVal[i].IntVal.zext(DBitWidth);<br>
   } else {<br>
-    const IntegerType *DITy = cast<IntegerType>(DstTy);<br>
+    auto *DITy = cast<IntegerType>(DstTy);<br>
     unsigned DBitWidth = DITy->getBitWidth();<br>
     Dest.IntVal = Src.IntVal.zext(DBitWidth);<br>
   }<br>
@@ -1327,8 +1327,8 @@ GenericValue Interpreter::executeFPToUII<br>
   GenericValue Dest, Src = getOperandValue(SrcVal, SF);<br>
<br>
   if (SrcTy->getTypeID() == Type::VectorTyID) {<br>
-    const Type *DstVecTy = DstTy->getScalarType();<br>
-    const Type *SrcVecTy = SrcTy->getScalarType();<br>
+    Type *DstVecTy = DstTy->getScalarType();<br>
+    Type *SrcVecTy = SrcTy->getScalarType();<br>
     uint32_t DBitWidth = cast<IntegerType>(DstVecTy)->getBitWidth();<br>
     unsigned size = Src.AggregateVal.size();<br>
     // the sizes of src and dst vectors must be equal.<br>
@@ -1365,8 +1365,8 @@ GenericValue Interpreter::executeFPToSII<br>
   GenericValue Dest, Src = getOperandValue(SrcVal, SF);<br>
<br>
   if (SrcTy->getTypeID() == Type::VectorTyID) {<br>
-    const Type *DstVecTy = DstTy->getScalarType();<br>
-    const Type *SrcVecTy = SrcTy->getScalarType();<br>
+    Type *DstVecTy = DstTy->getScalarType();<br>
+    Type *SrcVecTy = SrcTy->getScalarType();<br>
     uint32_t DBitWidth = cast<IntegerType>(DstVecTy)->getBitWidth();<br>
     unsigned size = Src.AggregateVal.size();<br>
     // the sizes of src and dst vectors must be equal<br>
@@ -1401,7 +1401,7 @@ GenericValue Interpreter::executeUIToFPI<br>
   GenericValue Dest, Src = getOperandValue(SrcVal, SF);<br>
<br>
   if (SrcVal->getType()->getTypeID() == Type::VectorTyID) {<br>
-    const Type *DstVecTy = DstTy->getScalarType();<br>
+    Type *DstVecTy = DstTy->getScalarType();<br>
     unsigned size = Src.AggregateVal.size();<br>
     // the sizes of src and dst vectors must be equal<br>
     Dest.AggregateVal.resize(size);<br>
@@ -1433,7 +1433,7 @@ GenericValue Interpreter::executeSIToFPI<br>
   GenericValue Dest, Src = getOperandValue(SrcVal, SF);<br>
<br>
   if (SrcVal->getType()->getTypeID() == Type::VectorTyID) {<br>
-    const Type *DstVecTy = DstTy->getScalarType();<br>
+    Type *DstVecTy = DstTy->getScalarType();<br>
     unsigned size = Src.AggregateVal.size();<br>
     // the sizes of src and dst vectors must be equal<br>
     Dest.AggregateVal.resize(size);<br>
@@ -1499,8 +1499,8 @@ GenericValue Interpreter::executeBitCast<br>
     // scalar src bitcast to vector dst<br>
     bool isLittleEndian = getDataLayout().isLittleEndian();<br>
     GenericValue TempDst, TempSrc, SrcVec;<br>
-    const Type *SrcElemTy;<br>
-    const Type *DstElemTy;<br>
+    Type *SrcElemTy;<br>
+    Type *DstElemTy;<br>
     unsigned SrcBitSize;<br>
     unsigned DstBitSize;<br>
     unsigned SrcNum;<br>
<br>
Modified: llvm/trunk/lib/IR/Attributes.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_IR_Attributes.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=RGLFr-TRBTIBYNOPx6OJbQO1sz-rjAUVhNcgeQmyVkw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Attributes.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/IR/Attributes.cpp (original)<br>
+++ llvm/trunk/lib/IR/Attributes.cpp Sat Aug  1 17:20:21 2015<br>
@@ -1382,7 +1382,7 @@ AttrBuilder &AttrBuilder::addRawValue(ui<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 /// \brief Which attributes cannot be applied to a type.<br>
-AttrBuilder AttributeFuncs::typeIncompatible(const Type *Ty) {<br>
+AttrBuilder AttributeFuncs::typeIncompatible(Type *Ty) {<br>
   AttrBuilder Incompatible;<br>
<br>
   if (!Ty->isIntegerTy())<br>
<br>
Modified: llvm/trunk/lib/IR/ConstantFold.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_IR_ConstantFold.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=9f4516Fyww_bF_y7ZK0mQngHclJzQ8MlY8MCOaBXWD4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/ConstantFold.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/IR/ConstantFold.cpp (original)<br>
+++ llvm/trunk/lib/IR/ConstantFold.cpp Sat Aug  1 17:20:21 2015<br>
@@ -1997,17 +1997,17 @@ static bool isInBoundsIndices(ArrayRef<I<br>
 }<br>
<br>
 /// \brief Test whether a given ConstantInt is in-range for a SequentialType.<br>
-static bool isIndexInRangeOfSequentialType(const SequentialType *STy,<br>
+static bool isIndexInRangeOfSequentialType(SequentialType *STy,<br>
                                            const ConstantInt *CI) {<br>
-  if (const PointerType *PTy = dyn_cast<PointerType>(STy))<br>
+  if (auto *PTy = dyn_cast<PointerType>(STy))<br>
     // Only handle pointers to sized types, not pointers to functions.<br>
     return PTy->getElementType()->isSized();<br>
<br>
   uint64_t NumElements = 0;<br>
   // Determine the number of elements in our sequential type.<br>
-  if (const ArrayType *ATy = dyn_cast<ArrayType>(STy))<br>
+  if (auto *ATy = dyn_cast<ArrayType>(STy))<br>
     NumElements = ATy->getNumElements();<br>
-  else if (const VectorType *VTy = dyn_cast<VectorType>(STy))<br>
+  else if (auto *VTy = dyn_cast<VectorType>(STy))<br>
     NumElements = VTy->getNumElements();<br>
<br>
   assert((isa<ArrayType>(STy) || NumElements > 0) &&<br>
@@ -2178,7 +2178,7 @@ static Constant *ConstantFoldGetElementP<br>
             // dimension.<br>
             NewIdxs.resize(Idxs.size());<br>
             uint64_t NumElements = 0;<br>
-            if (const ArrayType *ATy = dyn_cast<ArrayType>(Ty))<br>
+            if (auto *ATy = dyn_cast<ArrayType>(Ty))<br>
               NumElements = ATy->getNumElements();<br>
             else<br>
               NumElements = cast<VectorType>(Ty)->getNumElements();<br>
<br>
Modified: llvm/trunk/lib/IR/Constants.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_IR_Constants.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=YXMNvvLDLtZ-p2U_VZhCafETCQj6fpS92dDNPOCSfPc&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Constants.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/IR/Constants.cpp (original)<br>
+++ llvm/trunk/lib/IR/Constants.cpp Sat Aug  1 17:20:21 2015<br>
@@ -797,10 +797,10 @@ Constant *ConstantAggregateZero::getElem<br>
 }<br>
<br>
 unsigned ConstantAggregateZero::getNumElements() const {<br>
-  const Type *Ty = getType();<br>
-  if (const auto *AT = dyn_cast<ArrayType>(Ty))<br>
+  Type *Ty = getType();<br>
+  if (auto *AT = dyn_cast<ArrayType>(Ty))<br>
     return AT->getNumElements();<br>
-  if (const auto *VT = dyn_cast<VectorType>(Ty))<br>
+  if (auto *VT = dyn_cast<VectorType>(Ty))<br>
     return VT->getNumElements();<br>
   return Ty->getStructNumElements();<br>
 }<br>
@@ -838,10 +838,10 @@ UndefValue *UndefValue::getElementValue(<br>
 }<br>
<br>
 unsigned UndefValue::getNumElements() const {<br>
-  const Type *Ty = getType();<br>
-  if (const auto *AT = dyn_cast<ArrayType>(Ty))<br>
+  Type *Ty = getType();<br>
+  if (auto *AT = dyn_cast<ArrayType>(Ty))<br>
     return AT->getNumElements();<br>
-  if (const auto *VT = dyn_cast<VectorType>(Ty))<br>
+  if (auto *VT = dyn_cast<VectorType>(Ty))<br>
     return VT->getNumElements();<br>
   return Ty->getStructNumElements();<br>
 }<br>
@@ -2430,9 +2430,9 @@ StringRef ConstantDataSequential::getRaw<br>
 /// formed with a vector or array of the specified element type.<br>
 /// ConstantDataArray only works with normal float and int types that are<br>
 /// stored densely in memory, not with things like i42 or x86_f80.<br>
-bool ConstantDataSequential::isElementTypeCompatible(const Type *Ty) {<br>
+bool ConstantDataSequential::isElementTypeCompatible(Type *Ty) {<br>
   if (Ty->isFloatTy() || Ty->isDoubleTy()) return true;<br>
-  if (const IntegerType *IT = dyn_cast<IntegerType>(Ty)) {<br>
+  if (auto *IT = dyn_cast<IntegerType>(Ty)) {<br>
     switch (IT->getBitWidth()) {<br>
     case 8:<br>
     case 16:<br>
<br>
Modified: llvm/trunk/lib/IR/Type.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_IR_Type.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=EJFfQBWGcFO6GG7h0QMWdBCljwsGmYiPQBCrxas6yj4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Type.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/IR/Type.cpp (original)<br>
+++ llvm/trunk/lib/IR/Type.cpp Sat Aug  1 17:20:21 2015<br>
@@ -74,8 +74,8 @@ bool Type::canLosslesslyBitCastTo(Type *<br>
   // Vector -> Vector conversions are always lossless if the two vector types<br>
   // have the same size, otherwise not.  Also, 64-bit vector types can be<br>
   // converted to x86mmx.<br>
-  if (const VectorType *thisPTy = dyn_cast<VectorType>(this)) {<br>
-    if (const VectorType *thatPTy = dyn_cast<VectorType>(Ty))<br>
+  if (auto *thisPTy = dyn_cast<VectorType>(this)) {<br>
+    if (auto *thatPTy = dyn_cast<VectorType>(Ty))<br>
       return thisPTy->getBitWidth() == thatPTy->getBitWidth();<br>
     if (Ty->getTypeID() == Type::X86_MMXTyID &&<br>
         thisPTy->getBitWidth() == 64)<br>
@@ -83,7 +83,7 @@ bool Type::canLosslesslyBitCastTo(Type *<br>
   }<br>
<br>
   if (this->getTypeID() == Type::X86_MMXTyID)<br>
-    if (const VectorType *thatPTy = dyn_cast<VectorType>(Ty))<br>
+    if (auto *thatPTy = dyn_cast<VectorType>(Ty))<br>
       if (thatPTy->getBitWidth() == 64)<br>
         return true;<br>
<br>
@@ -91,8 +91,8 @@ bool Type::canLosslesslyBitCastTo(Type *<br>
   // remaining and ptr->ptr. Just select the lossless conversions. Everything<br>
   // else is not lossless. Conservatively assume we can't losslessly convert<br>
   // between pointers with different address spaces.<br>
-  if (const PointerType *PTy = dyn_cast<PointerType>(this)) {<br>
-    if (const PointerType *OtherPTy = dyn_cast<PointerType>(Ty))<br>
+  if (auto *PTy = dyn_cast<PointerType>(this)) {<br>
+    if (auto *OtherPTy = dyn_cast<PointerType>(Ty))<br>
       return PTy->getAddressSpace() == OtherPTy->getAddressSpace();<br>
     return false;<br>
   }<br>
@@ -100,14 +100,12 @@ bool Type::canLosslesslyBitCastTo(Type *<br>
 }<br>
<br>
 bool Type::isEmptyTy() const {<br>
-  const ArrayType *ATy = dyn_cast<ArrayType>(this);<br>
-  if (ATy) {<br>
+  if (auto *ATy = dyn_cast<ArrayType>(this)) {<br>
     unsigned NumElements = ATy->getNumElements();<br>
     return NumElements == 0 || ATy->getElementType()->isEmptyTy();<br>
   }<br>
<br>
-  const StructType *STy = dyn_cast<StructType>(this);<br>
-  if (STy) {<br>
+  if (auto *STy = dyn_cast<StructType>(this)) {<br>
     unsigned NumElements = STy->getNumElements();<br>
     for (unsigned i = 0; i < NumElements; ++i)<br>
       if (!STy->getElementType(i)->isEmptyTy())<br>
@@ -144,7 +142,7 @@ unsigned Type::getScalarSizeInBits() con<br>
 /// is only valid on floating point types.  If the FP type does not<br>
 /// have a stable mantissa (e.g. ppc long double), this method returns -1.<br>
 int Type::getFPMantissaWidth() const {<br>
-  if (const VectorType *VTy = dyn_cast<VectorType>(this))<br>
+  if (auto *VTy = dyn_cast<VectorType>(this))<br>
     return VTy->getElementType()->getFPMantissaWidth();<br>
   assert(isFloatingPointTy() && "Not a floating point type!");<br>
   if (getTypeID() == HalfTyID) return 11;<br>
@@ -159,11 +157,11 @@ int Type::getFPMantissaWidth() const {<br>
 /// isSizedDerivedType - Derived types like structures and arrays are sized<br>
 /// iff all of the members of the type are sized as well.  Since asking for<br>
 /// their size is relatively uncommon, move this operation out of line.<br>
-bool Type::isSizedDerivedType(SmallPtrSetImpl<const Type*> *Visited) const {<br>
-  if (const ArrayType *ATy = dyn_cast<ArrayType>(this))<br>
+bool Type::isSizedDerivedType(SmallPtrSetImpl<Type*> *Visited) const {<br>
+  if (auto *ATy = dyn_cast<ArrayType>(this))<br>
     return ATy->getElementType()->isSized(Visited);<br>
<br>
-  if (const VectorType *VTy = dyn_cast<VectorType>(this))<br>
+  if (auto *VTy = dyn_cast<VectorType>(this))<br>
     return VTy->getElementType()->isSized(Visited);<br>
<br>
   return cast<StructType>(this)->isSized(Visited);<br>
@@ -556,13 +554,13 @@ StructType *StructType::create(StringRef<br>
   return Ret;<br>
 }<br>
<br>
-bool StructType::isSized(SmallPtrSetImpl<const Type*> *Visited) const {<br>
+bool StructType::isSized(SmallPtrSetImpl<Type*> *Visited) const {<br>
   if ((getSubclassData() & SCDB_IsSized) != 0)<br>
     return true;<br>
   if (isOpaque())<br>
     return false;<br>
<br>
-  if (Visited && !Visited->insert(this).second)<br>
+  if (Visited && !Visited->insert(const_cast<StructType*>(this)).second)<br>
     return false;<br>
<br>
   // Okay, our struct is sized if all of the elements are, but if one of the<br>
@@ -647,7 +645,7 @@ Type *CompositeType::getTypeAtIndex(unsi<br>
   return cast<SequentialType>(this)->getElementType();<br>
 }<br>
 bool CompositeType::indexValid(const Value *V) const {<br>
-  if (const StructType *STy = dyn_cast<StructType>(this)) {<br>
+  if (auto *STy = dyn_cast<StructType>(this)) {<br>
     // Structure indexes require (vectors of) 32-bit integer constants.  In the<br>
     // vector case all of the indices must be equal.<br>
     if (!V->getType()->getScalarType()->isIntegerTy(32))<br>
@@ -664,7 +662,7 @@ bool CompositeType::indexValid(const Val<br>
 }<br>
<br>
 bool CompositeType::indexValid(unsigned Idx) const {<br>
-  if (const StructType *STy = dyn_cast<StructType>(this))<br>
+  if (auto *STy = dyn_cast<StructType>(this))<br>
     return Idx < STy->getNumElements();<br>
   // Sequential types can be indexed by any integer.<br>
   return true;<br>
<br>
Modified: llvm/trunk/lib/IR/Verifier.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_IR_Verifier.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=ZHNjA2-wsaViud36ZxxrnZ_Y4TOOT1IOwaunBv-w1SM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Verifier.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/IR/Verifier.cpp (original)<br>
+++ llvm/trunk/lib/IR/Verifier.cpp Sat Aug  1 17:20:21 2015<br>
@@ -1365,7 +1365,7 @@ void Verifier::VerifyParameterAttrs(Attr<br>
          V);<br>
<br>
   if (PointerType *PTy = dyn_cast<PointerType>(Ty)) {<br>
-    SmallPtrSet<const Type*, 4> Visited;<br>
+    SmallPtrSet<Type*, 4> Visited;<br>
     if (!PTy->getElementType()->isSized(&Visited)) {<br>
       Assert(!Attrs.hasAttribute(Idx, Attribute::ByVal) &&<br>
                  !Attrs.hasAttribute(Idx, Attribute::InAlloca),<br>
@@ -1554,7 +1554,7 @@ void Verifier::VerifyStatepoint(Immutabl<br>
          &CI);<br>
<br>
   const Value *Target = CS.getArgument(2);<br>
-  const PointerType *PT = dyn_cast<PointerType>(Target->getType());<br>
+  auto *PT = dyn_cast<PointerType>(Target->getType());<br>
   Assert(PT && PT->getElementType()->isFunctionTy(),<br>
          "gc.statepoint callee must be of function pointer type", &CI, Target);<br>
   FunctionType *TargetFuncType = cast<FunctionType>(PT->getElementType());<br>
@@ -2674,7 +2674,7 @@ void Verifier::visitStoreInst(StoreInst<br>
 }<br>
<br>
 void Verifier::visitAllocaInst(AllocaInst &AI) {<br>
-  SmallPtrSet<const Type*, 4> Visited;<br>
+  SmallPtrSet<Type*, 4> Visited;<br>
   PointerType *PTy = AI.getType();<br>
   Assert(PTy->getAddressSpace() == 0,<br>
          "Allocation instruction pointer not in the generic address space!",<br>
@@ -3469,9 +3469,8 @@ void Verifier::visitIntrinsicCallSite(In<br>
<br>
     // Assert that result type matches wrapped callee.<br>
     const Value *Target = StatepointCS.getArgument(2);<br>
-    const PointerType *PT = cast<PointerType>(Target->getType());<br>
-    const FunctionType *TargetFuncType =<br>
-      cast<FunctionType>(PT->getElementType());<br>
+    auto *PT = cast<PointerType>(Target->getType());<br>
+    auto *TargetFuncType = cast<FunctionType>(PT->getElementType());<br>
     Assert(CS.getType() == TargetFuncType->getReturnType(),<br>
            "gc.result result type does not match wrapped callee", CS);<br>
     break;<br>
<br>
Modified: llvm/trunk/lib/Target/AArch64/AArch64FastISel.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_AArch64_AArch64FastISel.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=72UVG7zZincyxFu7xOTF7u5U-1azdNu6g9jtAuwTA0w&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64FastISel.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/AArch64/AArch64FastISel.cpp (original)<br>
+++ llvm/trunk/lib/Target/AArch64/AArch64FastISel.cpp Sat Aug  1 17:20:21 2015<br>
@@ -523,7 +523,7 @@ bool AArch64FastISel::computeAddress(con<br>
     U = C;<br>
   }<br>
<br>
-  if (const PointerType *Ty = dyn_cast<PointerType>(Obj->getType()))<br>
+  if (auto *Ty = dyn_cast<PointerType>(Obj->getType()))<br>
     if (Ty->getAddressSpace() > 255)<br>
       // Fast instruction selection doesn't support the special<br>
       // address spaces.<br>
<br>
Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_AMDGPU_AMDGPUPromoteAlloca.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=gSFoK7lDkDUsY5eFUnLcCRx6hmClrG98paeq4ls91Mw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp (original)<br>
+++ llvm/trunk/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp Sat Aug  1 17:20:21 2015<br>
@@ -54,7 +54,7 @@ bool AMDGPUPromoteAlloca::doInitializati<br>
<br>
 bool AMDGPUPromoteAlloca::runOnFunction(Function &F) {<br>
<br>
-  const FunctionType *FTy = F.getFunctionType();<br>
+  FunctionType *FTy = F.getFunctionType();<br>
<br>
   LocalMemAvailable = ST.getLocalMemorySize();<br>
<br>
@@ -63,7 +63,7 @@ bool AMDGPUPromoteAlloca::runOnFunction(<br>
   // possible these arguments require the entire local memory space, so<br>
   // we cannot use local memory in the pass.<br>
   for (unsigned i = 0, e = FTy->getNumParams(); i != e; ++i) {<br>
-    const Type *ParamTy = FTy->getParamType(i);<br>
+    Type *ParamTy = FTy->getParamType(i);<br>
     if (ParamTy->isPointerTy() &&<br>
         ParamTy->getPointerAddressSpace() == AMDGPUAS::LOCAL_ADDRESS) {<br>
       LocalMemAvailable = 0;<br>
@@ -101,7 +101,7 @@ bool AMDGPUPromoteAlloca::runOnFunction(<br>
   return false;<br>
 }<br>
<br>
-static VectorType *arrayTypeToVecType(const Type *ArrayTy) {<br>
+static VectorType *arrayTypeToVecType(Type *ArrayTy) {<br>
   return VectorType::get(ArrayTy->getArrayElementType(),<br>
                          ArrayTy->getArrayNumElements());<br>
 }<br>
<br>
Modified: llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_AMDGPU_SIISelLowering.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=h3-YbZRdPFSBsF6_sqrvFfJ6spoHOuUStxA7RO_SpYw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp (original)<br>
+++ llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp Sat Aug  1 17:20:21 2015<br>
@@ -617,7 +617,7 @@ SDValue SITargetLowering::LowerFormalArg<br>
                                    Offset, Ins[i].Flags.isSExt());<br>
       Chains.push_back(Arg.getValue(1));<br>
<br>
-      const PointerType *ParamTy =<br>
+      auto *ParamTy =<br>
         dyn_cast<PointerType>(FType->getParamType(Ins[i].getOrigArgIndex()));<br>
       if (Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS &&<br>
           ParamTy && ParamTy->getAddressSpace() == AMDGPUAS::LOCAL_ADDRESS) {<br>
<br>
Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_ARM_ARMISelLowering.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=kGVGDb9r96I2yNKz_-AOqe8aduzPMbVD2hjelvNqK6U&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)<br>
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Sat Aug  1 17:20:21 2015<br>
@@ -11797,14 +11797,14 @@ enum HABaseType {<br>
<br>
 static bool isHomogeneousAggregate(Type *Ty, HABaseType &Base,<br>
                                    uint64_t &Members) {<br>
-  if (const StructType *ST = dyn_cast<StructType>(Ty)) {<br>
+  if (auto *ST = dyn_cast<StructType>(Ty)) {<br>
     for (unsigned i = 0; i < ST->getNumElements(); ++i) {<br>
       uint64_t SubMembers = 0;<br>
       if (!isHomogeneousAggregate(ST->getElementType(i), Base, SubMembers))<br>
         return false;<br>
       Members += SubMembers;<br>
     }<br>
-  } else if (const ArrayType *AT = dyn_cast<ArrayType>(Ty)) {<br>
+  } else if (auto *AT = dyn_cast<ArrayType>(Ty)) {<br>
     uint64_t SubMembers = 0;<br>
     if (!isHomogeneousAggregate(AT->getElementType(), Base, SubMembers))<br>
       return false;<br>
@@ -11819,7 +11819,7 @@ static bool isHomogeneousAggregate(Type<br>
       return false;<br>
     Members = 1;<br>
     Base = HA_DOUBLE;<br>
-  } else if (const VectorType *VT = dyn_cast<VectorType>(Ty)) {<br>
+  } else if (auto *VT = dyn_cast<VectorType>(Ty)) {<br>
     Members = 1;<br>
     switch (Base) {<br>
     case HA_FLOAT:<br>
<br>
Modified: llvm/trunk/lib/Target/Mips/Mips16HardFloat.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_Mips_Mips16HardFloat.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=upGXc_a6o8sevA9PX8ld801POk4IiXnyba0_eKPpVxc&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/Mips16HardFloat.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/Mips/Mips16HardFloat.cpp (original)<br>
+++ llvm/trunk/lib/Target/Mips/Mips16HardFloat.cpp Sat Aug  1 17:20:21 2015<br>
@@ -182,7 +182,7 @@ static bool needsFPReturnHelper(Function<br>
   return whichFPReturnVariant(RetType) != NoFPRet;<br>
 }<br>
<br>
-static bool needsFPReturnHelper(const FunctionType &FT) {<br>
+static bool needsFPReturnHelper(FunctionType &FT) {<br>
   Type* RetType = FT.getReturnType();<br>
   return whichFPReturnVariant(RetType) != NoFPRet;<br>
 }<br>
@@ -419,11 +419,11 @@ static bool fixupFPReturnAndCall(Functio<br>
         CallInst::Create(F, Params, "", &Inst );<br>
       } else if (const CallInst *CI = dyn_cast<CallInst>(I)) {<br>
         const Value* V = CI->getCalledValue();<br>
-        const Type* T = nullptr;<br>
+        Type* T = nullptr;<br>
         if (V) T = V->getType();<br>
-        const PointerType *PFT=nullptr;<br>
+        PointerType *PFT = nullptr;<br>
         if (T) PFT = dyn_cast<PointerType>(T);<br>
-        const FunctionType *FT=nullptr;<br>
+        FunctionType *FT = nullptr;<br>
         if (PFT) FT = dyn_cast<FunctionType>(PFT->getElementType());<br>
         Function *F_ =  CI->getCalledFunction();<br>
         if (FT && needsFPReturnHelper(*FT) &&<br>
<br>
Modified: llvm/trunk/lib/Target/Mips/MipsCCState.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_Mips_MipsCCState.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=oLjJg0eOAWU3-CZ3yg8YR_vAbBMfJE1IzIlK_f2zoGo&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsCCState.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/Mips/MipsCCState.cpp (original)<br>
+++ llvm/trunk/lib/Target/Mips/MipsCCState.cpp Sat Aug  1 17:20:21 2015<br>
@@ -44,7 +44,7 @@ static bool isF128SoftLibCall(const char<br>
<br>
 /// This function returns true if Ty is fp128, {f128} or i128 which was<br>
 /// originally a fp128.<br>
-static bool originalTypeIsF128(const Type *Ty, const SDNode *CallNode) {<br>
+static bool originalTypeIsF128(Type *Ty, const SDNode *CallNode) {<br>
   if (Ty->isFP128Ty())<br>
     return true;<br>
<br>
<br>
Modified: llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_NVPTX_NVPTXAsmPrinter.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=cbx6nkEpSQakS45sBZpUbUFm_WcDDGtJv3ldFzlr4EE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpp (original)<br>
+++ llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.cpp Sat Aug  1 17:20:21 2015<br>
@@ -355,7 +355,7 @@ void NVPTXAsmPrinter::printReturnValStr(<br>
   if (isABI) {<br>
     if (Ty->isFloatingPointTy() || Ty->isIntegerTy()) {<br>
       unsigned size = 0;<br>
-      if (const IntegerType *ITy = dyn_cast<IntegerType>(Ty)) {<br>
+      if (auto *ITy = dyn_cast<IntegerType>(Ty)) {<br>
         size = ITy->getBitWidth();<br>
         if (size < 32)<br>
           size = 32;<br>
@@ -680,7 +680,7 @@ static bool usedInOneFunc(const User *U,<br>
 static bool canDemoteGlobalVar(const GlobalVariable *gv, Function const *&f) {<br>
   if (!gv->hasInternalLinkage())<br>
     return false;<br>
-  const PointerType *Pty = gv->getType();<br>
+  PointerType *Pty = gv->getType();<br>
   if (Pty->getAddressSpace() != llvm::ADDRESS_SPACE_SHARED)<br>
     return false;<br>
<br>
@@ -1030,7 +1030,7 @@ void NVPTXAsmPrinter::printModuleLevelGV<br>
   const DataLayout &DL = getDataLayout();<br>
<br>
   // GlobalVariables are always constant pointers themselves.<br>
-  const PointerType *PTy = GVar->getType();<br>
+  PointerType *PTy = GVar->getType();<br>
   Type *ETy = PTy->getElementType();<br>
<br>
   if (GVar->hasExternalLinkage()) {<br>
@@ -1297,7 +1297,7 @@ void NVPTXAsmPrinter::emitPTXAddressSpac<br>
 }<br>
<br>
 std::string<br>
-NVPTXAsmPrinter::getPTXFundamentalTypeStr(const Type *Ty, bool useB4PTR) const {<br>
+NVPTXAsmPrinter::getPTXFundamentalTypeStr(Type *Ty, bool useB4PTR) const {<br>
   switch (Ty->getTypeID()) {<br>
   default:<br>
     llvm_unreachable("unexpected type");<br>
@@ -1340,7 +1340,7 @@ void NVPTXAsmPrinter::emitPTXGlobalVaria<br>
   const DataLayout &DL = getDataLayout();<br>
<br>
   // GlobalVariables are always constant pointers themselves.<br>
-  const PointerType *PTy = GVar->getType();<br>
+  PointerType *PTy = GVar->getType();<br>
   Type *ETy = PTy->getElementType();<br>
<br>
   O << ".";<br>
@@ -1387,11 +1387,11 @@ static unsigned int getOpenCLAlignment(c<br>
   if (Ty->isSingleValueType())<br>
     return DL.getPrefTypeAlignment(Ty);<br>
<br>
-  const ArrayType *ATy = dyn_cast<ArrayType>(Ty);<br>
+  auto *ATy = dyn_cast<ArrayType>(Ty);<br>
   if (ATy)<br>
     return getOpenCLAlignment(DL, ATy->getElementType());<br>
<br>
-  const StructType *STy = dyn_cast<StructType>(Ty);<br>
+  auto *STy = dyn_cast<StructType>(Ty);<br>
   if (STy) {<br>
     unsigned int alignStruct = 1;<br>
     // Go through each element of the struct and find the<br>
@@ -1405,7 +1405,7 @@ static unsigned int getOpenCLAlignment(c<br>
     return alignStruct;<br>
   }<br>
<br>
-  const FunctionType *FTy = dyn_cast<FunctionType>(Ty);<br>
+  auto *FTy = dyn_cast<FunctionType>(Ty);<br>
   if (FTy)<br>
     return DL.getPointerPrefAlignment();<br>
   return DL.getPrefTypeAlignment(Ty);<br>
@@ -1493,7 +1493,7 @@ void NVPTXAsmPrinter::emitFunctionParamL<br>
         continue;<br>
       }<br>
       // Just a scalar<br>
-      const PointerType *PTy = dyn_cast<PointerType>(Ty);<br>
+      auto *PTy = dyn_cast<PointerType>(Ty);<br>
       if (isKernelFunc) {<br>
         if (PTy) {<br>
           // Special handling for pointer arguments to kernel<br>
@@ -1554,7 +1554,7 @@ void NVPTXAsmPrinter::emitFunctionParamL<br>
     }<br>
<br>
     // param has byVal attribute. So should be a pointer<br>
-    const PointerType *PTy = dyn_cast<PointerType>(Ty);<br>
+    auto *PTy = dyn_cast<PointerType>(Ty);<br>
     assert(PTy && "Param with byval attribute should be a pointer type");<br>
     Type *ETy = PTy->getElementType();<br>
<br>
@@ -1798,7 +1798,7 @@ void NVPTXAsmPrinter::bufferLEByte(const<br>
   switch (CPV->getType()->getTypeID()) {<br>
<br>
   case Type::IntegerTyID: {<br>
-    const Type *ETy = CPV->getType();<br>
+    Type *ETy = CPV->getType();<br>
     if (ETy == Type::getInt8Ty(CPV->getContext())) {<br>
       unsigned char c = (unsigned char)cast<ConstantInt>(CPV)->getZExtValue();<br>
       ConvertIntToBytes<>(ptr, c);<br>
@@ -1858,7 +1858,7 @@ void NVPTXAsmPrinter::bufferLEByte(const<br>
   case Type::FloatTyID:<br>
   case Type::DoubleTyID: {<br>
     const ConstantFP *CFP = dyn_cast<ConstantFP>(CPV);<br>
-    const Type *Ty = CFP->getType();<br>
+    Type *Ty = CFP->getType();<br>
     if (Ty == Type::getFloatTy(CPV->getContext())) {<br>
       float float32 = (float) CFP->getValueAPF().convertToFloat();<br>
       ConvertFloatToBytes(ptr, float32);<br>
@@ -1949,9 +1949,9 @@ void NVPTXAsmPrinter::bufferAggregateCon<br>
 // buildTypeNameMap - Run through symbol table looking for type names.<br>
 //<br>
<br>
-bool NVPTXAsmPrinter::isImageType(const Type *Ty) {<br>
+bool NVPTXAsmPrinter::isImageType(Type *Ty) {<br>
<br>
-  std::map<const Type *, std::string>::iterator PI = TypeNameMap.find(Ty);<br>
+  std::map<Type *, std::string>::iterator PI = TypeNameMap.find(Ty);<br>
<br>
   return PI != TypeNameMap.end() && (!PI->second.compare("struct._image1d_t") ||<br>
                                      !PI->second.compare("struct._image2d_t") ||<br>
<br>
Modified: llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_NVPTX_NVPTXAsmPrinter.h-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=on7kUU7RRVwpUiUHpsohD-IgBKQZ92sHz4RNrjZeFsE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.h?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.h (original)<br>
+++ llvm/trunk/lib/Target/NVPTX/NVPTXAsmPrinter.h Sat Aug  1 17:20:21 2015<br>
@@ -233,7 +233,7 @@ private:<br>
   void emitFunctionParamList(const MachineFunction &MF, raw_ostream &O);<br>
   void setAndEmitFunctionVirtualRegisters(const MachineFunction &MF);<br>
   void emitFunctionTempData(const MachineFunction &MF, unsigned &FrameSize);<br>
-  bool isImageType(const Type *Ty);<br>
+  bool isImageType(Type *Ty);<br>
   void printReturnValStr(const Function *, raw_ostream &O);<br>
   void printReturnValStr(const MachineFunction &MF, raw_ostream &O);<br>
   bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,<br>
@@ -271,7 +271,7 @@ private:<br>
<br>
   // Build the map between type name and ID based on module's type<br>
   // symbol table.<br>
-  std::map<const Type *, std::string> TypeNameMap;<br>
+  std::map<Type *, std::string> TypeNameMap;<br>
<br>
   // List of variables demoted to a function scope.<br>
   std::map<const Function *, std::vector<const GlobalVariable *> > localDecls;<br>
@@ -282,7 +282,7 @@ private:<br>
<br>
   void emitPTXGlobalVariable(const GlobalVariable *GVar, raw_ostream &O);<br>
   void emitPTXAddressSpace(unsigned int AddressSpace, raw_ostream &O) const;<br>
-  std::string getPTXFundamentalTypeStr(const Type *Ty, bool = true) const;<br>
+  std::string getPTXFundamentalTypeStr(Type *Ty, bool = true) const;<br>
   void printScalarConstant(const Constant *CPV, raw_ostream &O);<br>
   void printFPConstant(const ConstantFP *Fp, raw_ostream &O);<br>
   void bufferLEByte(const Constant *CPV, int Bytes, AggBuffer *aggBuffer);<br>
<br>
Modified: llvm/trunk/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_NVPTX_NVPTXISelDAGToDAG.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=56XTbPfpp2i7sTR_3F-axFv393zwpxKucFRpQN7mOrU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp (original)<br>
+++ llvm/trunk/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp Sat Aug  1 17:20:21 2015<br>
@@ -531,7 +531,7 @@ static unsigned int getCodeAddrSpace(Mem<br>
   if (!Src)<br>
     return NVPTX::PTXLdStInstCode::GENERIC;<br>
<br>
-  if (const PointerType *PT = dyn_cast<PointerType>(Src->getType())) {<br>
+  if (auto *PT = dyn_cast<PointerType>(Src->getType())) {<br>
     switch (PT->getAddressSpace()) {<br>
     case llvm::ADDRESS_SPACE_LOCAL: return NVPTX::PTXLdStInstCode::LOCAL;<br>
     case llvm::ADDRESS_SPACE_GLOBAL: return NVPTX::PTXLdStInstCode::GLOBAL;<br>
@@ -5075,7 +5075,7 @@ bool NVPTXDAGToDAGISel::ChkMemSDNodeAddr<br>
   }<br>
   if (!Src)<br>
     return false;<br>
-  if (const PointerType *PT = dyn_cast<PointerType>(Src->getType()))<br>
+  if (auto *PT = dyn_cast<PointerType>(Src->getType()))<br>
     return (PT->getAddressSpace() == spN);<br>
   return false;<br>
 }<br>
<br>
Modified: llvm/trunk/lib/Target/NVPTX/NVPTXISelLowering.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_NVPTX_NVPTXISelLowering.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=ulTkgYxLEw_kFzJ59L8R6Fqi8IztsOGksEQMDcgbQF8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTXISelLowering.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/NVPTX/NVPTXISelLowering.cpp (original)<br>
+++ llvm/trunk/lib/Target/NVPTX/NVPTXISelLowering.cpp Sat Aug  1 17:20:21 2015<br>
@@ -910,7 +910,7 @@ std::string NVPTXTargetLowering::getProt<br>
     O << "(";<br>
     if (retTy->isFloatingPointTy() || retTy->isIntegerTy()) {<br>
       unsigned size = 0;<br>
-      if (const IntegerType *ITy = dyn_cast<IntegerType>(retTy)) {<br>
+      if (auto *ITy = dyn_cast<IntegerType>(retTy)) {<br>
         size = ITy->getBitWidth();<br>
         if (size < 32)<br>
           size = 32;<br>
@@ -981,7 +981,7 @@ std::string NVPTXTargetLowering::getProt<br>
       O << "_";<br>
       continue;<br>
     }<br>
-    const PointerType *PTy = dyn_cast<PointerType>(Ty);<br>
+    auto *PTy = dyn_cast<PointerType>(Ty);<br>
     assert(PTy && "Param with byval attribute should be a pointer type");<br>
     Type *ETy = PTy->getElementType();<br>
<br>
@@ -1318,7 +1318,7 @@ SDValue NVPTXTargetLowering::LowerCall(T<br>
     // struct or vector<br>
     SmallVector<EVT, 16> vtparts;<br>
     SmallVector<uint64_t, 16> Offsets;<br>
-    const PointerType *PTy = dyn_cast<PointerType>(Args[i].Ty);<br>
+    auto *PTy = dyn_cast<PointerType>(Args[i].Ty);<br>
     assert(PTy && "Type of a byval parameter should be pointer");<br>
     ComputePTXValueVTs(*this, DAG.getDataLayout(), PTy->getElementType(),<br>
                        vtparts, &Offsets, 0);<br>
@@ -2040,8 +2040,8 @@ bool llvm::isImageOrSamplerVal(const Val<br>
                                               "struct._image3d_t",<br>
                                               "struct._sampler_t" };<br>
<br>
-  const Type *Ty = arg->getType();<br>
-  const PointerType *PTy = dyn_cast<PointerType>(Ty);<br>
+  Type *Ty = arg->getType();<br>
+  auto *PTy = dyn_cast<PointerType>(Ty);<br>
<br>
   if (!PTy)<br>
     return false;<br>
@@ -2049,7 +2049,7 @@ bool llvm::isImageOrSamplerVal(const Val<br>
   if (!context)<br>
     return false;<br>
<br>
-  const StructType *STy = dyn_cast<StructType>(PTy->getElementType());<br>
+  auto *STy = dyn_cast<StructType>(PTy->getElementType());<br>
   const std::string TypeName = STy && !STy->isLiteral() ? STy->getName() : "";<br>
<br>
   for (int i = 0, e = array_lengthof(specialTypes); i != e; ++i)<br>
<br>
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_X86_X86ISelLowering.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=SNLMXTYQr9yh4X9pia_4sAxilskFt1zgvJAHUdFlIzQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)<br>
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sat Aug  1 17:20:21 2015<br>
@@ -17971,7 +17971,7 @@ static SDValue LowerXALUO(SDValue Op, Se<br>
 /// the corresponding cmpxchg8b or cmpxchg16b instruction is available.<br>
 /// Used to know whether to use cmpxchg8/16b when expanding atomic operations<br>
 /// (otherwise we leave them alone to become __sync_fetch_and_... calls).<br>
-bool X86TargetLowering::needsCmpXchgNb(const Type *MemType) const {<br>
+bool X86TargetLowering::needsCmpXchgNb(Type *MemType) const {<br>
   unsigned OpWidth = MemType->getPrimitiveSizeInBits();<br>
<br>
   if (OpWidth == 64)<br>
@@ -17996,7 +17996,7 @@ bool X86TargetLowering::shouldExpandAtom<br>
 TargetLoweringBase::AtomicRMWExpansionKind<br>
 X86TargetLowering::shouldExpandAtomicRMWInIR(AtomicRMWInst *AI) const {<br>
   unsigned NativeWidth = Subtarget->is64Bit() ? 64 : 32;<br>
-  const Type *MemType = AI->getType();<br>
+  Type *MemType = AI->getType();<br>
<br>
   // If the operand is too big, we must see if cmpxchg8/16b is available<br>
   // and default to library calls otherwise.<br>
@@ -18042,7 +18042,7 @@ static bool hasMFENCE(const X86Subtarget<br>
 LoadInst *<br>
 X86TargetLowering::lowerIdempotentRMWIntoFencedLoad(AtomicRMWInst *AI) const {<br>
   unsigned NativeWidth = Subtarget->is64Bit() ? 64 : 32;<br>
-  const Type *MemType = AI->getType();<br>
+  Type *MemType = AI->getType();<br>
   // Accesses larger than the native width are turned into cmpxchg/libcalls, so<br>
   // there is no benefit in turning such RMWs into loads, and it is actually<br>
   // harmful as it introduces a mfence.<br>
<br>
Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_X86_X86ISelLowering.h-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=ffJefY9yL5NA9LcrHkHn0KJ_HE9wsb8dp4hVc1IHgEM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.h?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/X86/X86ISelLowering.h (original)<br>
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.h Sat Aug  1 17:20:21 2015<br>
@@ -1053,7 +1053,7 @@ namespace llvm {<br>
     LoadInst *<br>
     lowerIdempotentRMWIntoFencedLoad(AtomicRMWInst *AI) const override;<br>
<br>
-    bool needsCmpXchgNb(const Type *MemType) const;<br>
+    bool needsCmpXchgNb(Type *MemType) const;<br>
<br>
     /// Utility function to emit atomic-load-arith operations (and, or, xor,<br>
     /// nand, max, min, umax, umin). It takes the corresponding instruction to<br>
<br>
Modified: llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Transforms_IPO_MergeFunctions.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=ySVtuHtSsPSQFmBO1CyFrHcPeDdPSWja65mp9PLhO1M&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/IPO/MergeFunctions.cpp Sat Aug  1 17:20:21 2015<br>
@@ -500,9 +500,9 @@ int FunctionComparator::cmpConstants(con<br>
     unsigned TyLWidth = 0;<br>
     unsigned TyRWidth = 0;<br>
<br>
-    if (const VectorType *VecTyL = dyn_cast<VectorType>(TyL))<br>
+    if (auto *VecTyL = dyn_cast<VectorType>(TyL))<br>
       TyLWidth = VecTyL->getBitWidth();<br>
-    if (const VectorType *VecTyR = dyn_cast<VectorType>(TyR))<br>
+    if (auto *VecTyR = dyn_cast<VectorType>(TyR))<br>
       TyRWidth = VecTyR->getBitWidth();<br>
<br>
     if (TyLWidth != TyRWidth)<br>
<br>
Modified: llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Transforms_Instrumentation_AddressSanitizer.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=L5ZDSe4BO7rW0FA3IwQwlwOVBtIzPavcIK2UrvuE7pU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp Sat Aug  1 17:20:21 2015<br>
@@ -1410,7 +1410,7 @@ void AddressSanitizer::initializeCallbac<br>
       const std::string ExpStr = Exp ? "exp_" : "";<br>
       const std::string SuffixStr = CompileKernel ? "N" : "_n";<br>
       const std::string EndingStr = CompileKernel ? "_noabort" : "";<br>
-      const Type *ExpType = Exp ? Type::getInt32Ty(*C) : nullptr;<br>
+      Type *ExpType = Exp ? Type::getInt32Ty(*C) : nullptr;<br>
       // TODO(glider): for KASan builds add _noabort to error reporting<br>
       // functions and make them actually noabort (remove the UnreachableInst).<br>
       AsanErrorCallbackSized[AccessIsWrite][Exp] =<br>
<br>
Modified: llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Transforms_Scalar_RewriteStatepointsForGC.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=oH3OaQEIx0jP13qDnvYt6IgyMXsskf5tPLqm6pR85jY&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp Sat Aug  1 17:20:21 2015<br>
@@ -197,8 +197,8 @@ static void findLiveSetAtInst(Instructio<br>
 // TODO: Once we can get to the GCStrategy, this becomes<br>
 // Optional<bool> isGCManagedPointer(const Value *V) const override {<br>
<br>
-static bool isGCPointerType(const Type *T) {<br>
-  if (const PointerType *PT = dyn_cast<PointerType>(T))<br>
+static bool isGCPointerType(Type *T) {<br>
+  if (auto *PT = dyn_cast<PointerType>(T))<br>
     // For the sake of this example GC, we arbitrarily pick addrspace(1) as our<br>
     // GC managed heap.  We know that a pointer into this heap needs to be<br>
     // updated and that no other pointer does.<br>
<br>
Modified: llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Transforms_Utils_SimplifyCFG.cpp-3Frev-3D243842-26r1-3D243841-26r2-3D243842-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=Mb1pHXwW42oMQzjuoVsr7HiLbJFWK6MDMJxuuFdu0u8&s=_AyJa4Iar4tsKaKI5NW-iOeSlWlGfa0zOpxGLl_zYhE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp?rev=243842&r1=243841&r2=243842&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/Utils/SimplifyCFG.cpp Sat Aug  1 17:20:21 2015<br>
@@ -3664,7 +3664,7 @@ namespace {<br>
     /// Return true if a table with TableSize elements of<br>
     /// type ElementType would fit in a target-legal register.<br>
     static bool WouldFitInRegister(const DataLayout &DL, uint64_t TableSize,<br>
-                                   const Type *ElementType);<br>
+                                   Type *ElementType);<br>
<br>
   private:<br>
     // Depending on the contents of the table, it can be represented in<br>
@@ -3880,8 +3880,8 @@ Value *SwitchLookupTable::BuildLookup(Va<br>
<br>
 bool SwitchLookupTable::WouldFitInRegister(const DataLayout &DL,<br>
                                            uint64_t TableSize,<br>
-                                           const Type *ElementType) {<br>
-  const IntegerType *IT = dyn_cast<IntegerType>(ElementType);<br>
+                                           Type *ElementType) {<br>
+  auto *IT = dyn_cast<IntegerType>(ElementType);<br>
   if (!IT)<br>
     return false;<br>
   // FIXME: If the type is wider than it needs to be, e.g. i8 but all values<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>