Browse Source

Merge branch 'master' into dxil-v1.0

Tex Riddell 8 years ago
parent
commit
5e5897564a
100 changed files with 1337 additions and 1191 deletions
  1. 0 2
      CMakeLists.txt
  2. 70 0
      LICENSE.TXT
  3. 8 2
      LLVMBuild.txt
  4. 0 2
      cmake/modules/CMakeLists.txt
  5. 4 2
      docs/LLVMBuild.txt
  6. 0 2
      examples/CMakeLists.txt
  7. 8 2
      examples/LLVMBuild.txt
  8. 0 2
      examples/ModuleMaker/CMakeLists.txt
  9. 13 12
      examples/ModuleMaker/ModuleMaker.cpp
  10. 3 2
      examples/ModuleMaker/README.txt
  11. 16 14
      include/llvm-c/Analysis.h
  12. 16 14
      include/llvm-c/BitReader.h
  13. 16 14
      include/llvm-c/BitWriter.h
  14. 12 11
      include/llvm-c/Core.h
  15. 12 11
      include/llvm-c/Disassembler.h
  16. 16 14
      include/llvm-c/ExecutionEngine.h
  17. 11 10
      include/llvm-c/IRReader.h
  18. 13 12
      include/llvm-c/Initialization.h
  19. 12 11
      include/llvm-c/LinkTimeOptimizer.h
  20. 11 10
      include/llvm-c/Linker.h
  21. 16 15
      include/llvm-c/Object.h
  22. 11 10
      include/llvm-c/Support.h
  23. 16 15
      include/llvm-c/Target.h
  24. 16 14
      include/llvm-c/TargetMachine.h
  25. 12 11
      include/llvm-c/Transforms/IPO.h
  26. 11 10
      include/llvm-c/Transforms/PassManagerBuilder.h
  27. 16 14
      include/llvm-c/Transforms/Scalar.h
  28. 17 14
      include/llvm-c/Transforms/Vectorize.h
  29. 13 12
      include/llvm-c/lto.h
  30. 12 13
      include/llvm/ADT/APFloat.h
  31. 10 10
      include/llvm/ADT/APInt.h
  32. 11 10
      include/llvm/ADT/APSInt.h
  33. 7 8
      include/llvm/ADT/ArrayRef.h
  34. 10 9
      include/llvm/ADT/BitVector.h
  35. 6 8
      include/llvm/ADT/DAGDeltaAlgorithm.h
  36. 6 8
      include/llvm/ADT/DeltaAlgorithm.h
  37. 10 9
      include/llvm/ADT/DenseMap.h
  38. 10 9
      include/llvm/ADT/DenseMapInfo.h
  39. 10 9
      include/llvm/ADT/DenseSet.h
  40. 25 24
      include/llvm/ADT/DepthFirstIterator.h
  41. 12 11
      include/llvm/ADT/EpochTracker.h
  42. 11 10
      include/llvm/ADT/EquivalenceClasses.h
  43. 11 10
      include/llvm/ADT/FoldingSet.h
  44. 13 12
      include/llvm/ADT/GraphTraits.h
  45. 36 35
      include/llvm/ADT/Hashing.h
  46. 9 8
      include/llvm/ADT/ImmutableList.h
  47. 10 9
      include/llvm/ADT/ImmutableMap.h
  48. 9 8
      include/llvm/ADT/ImmutableSet.h
  49. 16 15
      include/llvm/ADT/IndexedMap.h
  50. 15 14
      include/llvm/ADT/IntEqClasses.h
  51. 76 75
      include/llvm/ADT/IntervalMap.h
  52. 15 14
      include/llvm/ADT/IntrusiveRefCntPtr.h
  53. 13 12
      include/llvm/ADT/MapVector.h
  54. 12 11
      include/llvm/ADT/None.h
  55. 12 11
      include/llvm/ADT/Optional.h
  56. 10 9
      include/llvm/ADT/PackedVector.h
  57. 10 9
      include/llvm/ADT/PointerIntPair.h
  58. 11 10
      include/llvm/ADT/PointerUnion.h
  59. 12 11
      include/llvm/ADT/PostOrderIterator.h
  60. 10 9
      include/llvm/ADT/PriorityQueue.h
  61. 16 17
      include/llvm/ADT/SCCIterator.h
  62. 11 10
      include/llvm/ADT/STLExtras.h
  63. 25 24
      include/llvm/ADT/ScopedHashTable.h
  64. 11 10
      include/llvm/ADT/SetOperations.h
  65. 15 14
      include/llvm/ADT/SetVector.h
  66. 10 9
      include/llvm/ADT/SmallBitVector.h
  67. 11 10
      include/llvm/ADT/SmallPtrSet.h
  68. 10 9
      include/llvm/ADT/SmallSet.h
  69. 10 9
      include/llvm/ADT/SmallString.h
  70. 10 9
      include/llvm/ADT/SmallVector.h
  71. 11 10
      include/llvm/ADT/SparseBitVector.h
  72. 16 15
      include/llvm/ADT/SparseMultiSet.h
  73. 15 14
      include/llvm/ADT/SparseSet.h
  74. 18 17
      include/llvm/ADT/Statistic.h
  75. 10 9
      include/llvm/ADT/StringExtras.h
  76. 10 9
      include/llvm/ADT/StringMap.h
  77. 7 8
      include/llvm/ADT/StringRef.h
  78. 10 9
      include/llvm/ADT/StringSet.h
  79. 11 11
      include/llvm/ADT/StringSwitch.h
  80. 7 8
      include/llvm/ADT/TinyPtrVector.h
  81. 7 8
      include/llvm/ADT/Triple.h
  82. 7 8
      include/llvm/ADT/Twine.h
  83. 7 7
      include/llvm/ADT/UniqueVector.h
  84. 10 9
      include/llvm/ADT/VariadicFunction.h
  85. 12 11
      include/llvm/ADT/edit_distance.h
  86. 28 27
      include/llvm/ADT/ilist.h
  87. 11 10
      include/llvm/ADT/ilist_node.h
  88. 7 8
      include/llvm/ADT/iterator.h
  89. 14 15
      include/llvm/ADT/iterator_range.h
  90. 31 30
      include/llvm/Analysis/AliasAnalysis.h
  91. 13 12
      include/llvm/Analysis/AliasSetTracker.h
  92. 12 11
      include/llvm/Analysis/AssumptionCache.h
  93. 10 9
      include/llvm/Analysis/BlockFrequencyInfo.h
  94. 11 10
      include/llvm/Analysis/BlockFrequencyInfoImpl.h
  95. 10 9
      include/llvm/Analysis/BranchProbabilityInfo.h
  96. 11 10
      include/llvm/Analysis/CFG.h
  97. 11 10
      include/llvm/Analysis/CFGPrinter.h
  98. 16 17
      include/llvm/Analysis/CGSCCPassManager.h
  99. 40 40
      include/llvm/Analysis/CallGraph.h
  100. 16 15
      include/llvm/Analysis/CallGraphSCCPass.h

+ 0 - 2
CMakeLists.txt

@@ -1,5 +1,3 @@
-# Copyright (C) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT license. See COPYRIGHT in the project root for full license information.
 # See docs/CMake.html for instructions about how to build LLVM with CMake.
 
 cmake_minimum_required(VERSION 2.8.12.2)

+ 70 - 0
LICENSE.TXT

@@ -0,0 +1,70 @@
+==============================================================================
+LLVM Release License
+==============================================================================
+University of Illinois/NCSA
+Open Source License
+
+Copyright (c) 2003-2015 University of Illinois at Urbana-Champaign.
+All rights reserved.
+
+Developed by:
+
+    LLVM Team
+
+    University of Illinois at Urbana-Champaign
+
+    http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimers.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimers in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the names of the LLVM Team, University of Illinois at
+      Urbana-Champaign, nor the names of its contributors may be used to
+      endorse or promote products derived from this Software without specific
+      prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+==============================================================================
+Copyrights and Licenses for Third Party Software Distributed with LLVM:
+==============================================================================
+The LLVM software contains code written by third parties.  Such software will
+have its own individual LICENSE.TXT file in the directory in which it appears.
+This file will describe the copyrights, license, and restrictions which apply
+to that code.
+
+The disclaimer of warranty in the University of Illinois Open Source License
+applies to all code in the LLVM Distribution, and nothing in any of the
+other licenses gives permission to use the names of the LLVM Team or the
+University of Illinois to endorse or promote products derived from this
+Software.
+
+The following pieces of software have additional or alternate copyrights,
+licenses, and/or restrictions:
+
+Program             Directory
+-------             ---------
+Autoconf            llvm/autoconf
+                    llvm/projects/ModuleMaker/autoconf
+Google Test         llvm/utils/unittest/googletest
+OpenBSD regex       llvm/lib/Support/{reg*, COPYRIGHT.regex}
+pyyaml tests        llvm/test/YAMLParser/{*.data, LICENSE.TXT}
+ARM contributions   llvm/lib/Target/ARM/LICENSE.TXT
+md5 contributions   llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h

+ 8 - 2
LLVMBuild.txt

@@ -1,5 +1,11 @@
-; Copyright (C) Microsoft Corporation. All rights reserved.
-; Licensed under the MIT license. See COPYRIGHT in the project root for full license information.
+;===- ./LLVMBuild.txt ------------------------------------------*- Conf -*--===;
+;
+;                     The LLVM Compiler Infrastructure
+;
+; This file is distributed under the University of Illinois Open Source
+; License. See LICENSE.TXT for details.
+;
+;===------------------------------------------------------------------------===;
 ;
 ; This is an LLVMBuild description file for the components in this subdirectory.
 ;

+ 0 - 2
cmake/modules/CMakeLists.txt

@@ -1,5 +1,3 @@
-# Copyright (C) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT license. See COPYRIGHT in the project root for full license information.
 set(LLVM_INSTALL_PACKAGE_DIR share/llvm/cmake)
 set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}")
 

+ 4 - 2
docs/LLVMBuild.txt

@@ -1,7 +1,9 @@
 ;===- ./docs/LLVMBuild.txt -------------------------------------*- Conf -*--===;
 ;
-; Copyright (C) Microsoft Corporation. All rights reserved.
-; Licensed under the MIT license. See COPYRIGHT in the project root for full license information.
+;                     The LLVM Compiler Infrastructure
+;
+; This file is distributed under the University of Illinois Open Source
+; License. See LICENSE.TXT for details.
 ;
 ;===------------------------------------------------------------------------===;
 ;

+ 0 - 2
examples/CMakeLists.txt

@@ -1,3 +1 @@
-# Copyright (C) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT license. See COPYRIGHT in the project root for full license information.
 add_subdirectory(ModuleMaker)

+ 8 - 2
examples/LLVMBuild.txt

@@ -1,5 +1,11 @@
-; Copyright (C) Microsoft Corporation. All rights reserved.
-; Licensed under the MIT license. See COPYRIGHT in the project root for full license information.
+;===- ./examples/LLVMBuild.txt ---------------------------------*- Conf -*--===;
+;
+;                     The LLVM Compiler Infrastructure
+;
+; This file is distributed under the University of Illinois Open Source
+; License. See LICENSE.TXT for details.
+;
+;===------------------------------------------------------------------------===;
 ;
 ; This is an LLVMBuild description file for the components in this subdirectory.
 ;

+ 0 - 2
examples/ModuleMaker/CMakeLists.txt

@@ -1,5 +1,3 @@
-# Copyright (C) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT license. See COPYRIGHT in the project root for full license information.
 set(LLVM_LINK_COMPONENTS
   BitWriter
   Core

+ 13 - 12
examples/ModuleMaker/ModuleMaker.cpp

@@ -1,16 +1,17 @@
 //===- examples/ModuleMaker/ModuleMaker.cpp - Example project ---*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ModuleMaker.cpp                                                           //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This programs is a simple example that creates an LLVM module "from scratch",//
-// emitting it as a bitcode file to standard out.  This is just to show how  //
-// LLVM projects work and to demonstrate some of the LLVM APIs.              //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This programs is a simple example that creates an LLVM module "from scratch",
+// emitting it as a bitcode file to standard out.  This is just to show how
+// LLVM projects work and to demonstrate some of the LLVM APIs.
+//
+//===----------------------------------------------------------------------===//
 
 #include "llvm/Bitcode/ReaderWriter.h"
 #include "llvm/IR/Constants.h"

+ 3 - 2
examples/ModuleMaker/README.txt

@@ -1,5 +1,6 @@
-Copyright (C) Microsoft Corporation. All rights reserved.
-Licensed under the MIT license. See COPYRIGHT in the project root for full licence information.
+//===----------------------------------------------------------------------===//
+//                         ModuleMaker Sample project
+//===----------------------------------------------------------------------===//
 //===----------------------------------------------------------------------===//
 //                         ModuleMaker Sample project
 //===----------------------------------------------------------------------===//

+ 16 - 14
include/llvm-c/Analysis.h

@@ -1,18 +1,20 @@
 /*===-- llvm-c/Analysis.h - Analysis Library C Interface --------*- C++ -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Analysis.h                                                                //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMAnalysis.a, which          //
-// implements various analyses of the LLVM IR.                               //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to libLLVMAnalysis.a, which           *|
+|* implements various analyses of the LLVM IR.                                *|
+|*                                                                            *|
+|* Many exotic languages can interoperate with C code but have a harder time  *|
+|* with C++ due to name mangling. So in addition to C, this interface enables *|
+|* tools written in such languages.                                           *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_ANALYSIS_H
 #define LLVM_C_ANALYSIS_H

+ 16 - 14
include/llvm-c/BitReader.h

@@ -1,18 +1,20 @@
 /*===-- llvm-c/BitReader.h - BitReader Library C Interface ------*- C++ -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// BitReader.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMBitReader.a, which         //
-// implements input of the LLVM bitcode format.                              //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to libLLVMBitReader.a, which          *|
+|* implements input of the LLVM bitcode format.                               *|
+|*                                                                            *|
+|* Many exotic languages can interoperate with C code but have a harder time  *|
+|* with C++ due to name mangling. So in addition to C, this interface enables *|
+|* tools written in such languages.                                           *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_BITREADER_H
 #define LLVM_C_BITREADER_H

+ 16 - 14
include/llvm-c/BitWriter.h

@@ -1,18 +1,20 @@
 /*===-- llvm-c/BitWriter.h - BitWriter Library C Interface ------*- C++ -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// BitWriter.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMBitWriter.a, which         //
-// implements output of the LLVM bitcode format.                             //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to libLLVMBitWriter.a, which          *|
+|* implements output of the LLVM bitcode format.                              *|
+|*                                                                            *|
+|* Many exotic languages can interoperate with C code but have a harder time  *|
+|* with C++ due to name mangling. So in addition to C, this interface enables *|
+|* tools written in such languages.                                           *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_BITWRITER_H
 #define LLVM_C_BITWRITER_H

+ 12 - 11
include/llvm-c/Core.h

@@ -1,15 +1,16 @@
 /*===-- llvm-c/Core.h - Core Library C Interface ------------------*- C -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Core.h                                                                    //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMCore.a, which implements   //
-// the LLVM intermediate representation.                                     //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to libLLVMCore.a, which implements    *|
+|* the LLVM intermediate representation.                                      *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_CORE_H
 #define LLVM_C_CORE_H

+ 12 - 11
include/llvm-c/Disassembler.h

@@ -1,15 +1,16 @@
 /*===-- llvm-c/Disassembler.h - Disassembler Public C Interface ---*- C -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Disassembler.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header provides a public interface to a disassembler library.        //
-// LLVM provides an implementation of this interface.                        //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header provides a public interface to a disassembler library.         *|
+|* LLVM provides an implementation of this interface.                         *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_DISASSEMBLER_H
 #define LLVM_C_DISASSEMBLER_H

+ 16 - 14
include/llvm-c/ExecutionEngine.h

@@ -1,18 +1,20 @@
 /*===-- llvm-c/ExecutionEngine.h - ExecutionEngine Lib C Iface --*- C++ -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ExecutionEngine.h                                                         //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMExecutionEngine.o, which   //
-// implements various analyses of the LLVM IR.                               //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to libLLVMExecutionEngine.o, which    *|
+|* implements various analyses of the LLVM IR.                                *|
+|*                                                                            *|
+|* Many exotic languages can interoperate with C code but have a harder time  *|
+|* with C++ due to name mangling. So in addition to C, this interface enables *|
+|* tools written in such languages.                                           *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_EXECUTIONENGINE_H
 #define LLVM_C_EXECUTIONENGINE_H

+ 11 - 10
include/llvm-c/IRReader.h

@@ -1,14 +1,15 @@
 /*===-- llvm-c/IRReader.h - IR Reader C Interface -----------------*- C -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// IRReader.h                                                                //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the C interface to the IR Reader.                       //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This file defines the C interface to the IR Reader.                        *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_IRREADER_H
 #define LLVM_C_IRREADER_H

+ 13 - 12
include/llvm-c/Initialization.h

@@ -1,16 +1,17 @@
 /*===-- llvm-c/Initialization.h - Initialization C Interface ------*- C -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Initialization.h                                                          //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to LLVM initialization routines,     //
-// which must be called before you can use the functionality provided by     //
-// the corresponding LLVM library.                                           //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to LLVM initialization routines,      *|
+|* which must be called before you can use the functionality provided by      *|
+|* the corresponding LLVM library.                                            *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_INITIALIZATION_H
 #define LLVM_C_INITIALIZATION_H

+ 12 - 11
include/llvm-c/LinkTimeOptimizer.h

@@ -1,16 +1,17 @@
 //===-- llvm/LinkTimeOptimizer.h - LTO Public C Interface -------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// LinkTimeOptimizer.h                                                       //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header provides a C API to use the LLVM link time optimization       //
-// library. This is intended to be used by linkers which are C-only in       //
-// their implementation for performing LTO.                                  //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This header provides a C API to use the LLVM link time optimization
+// library. This is intended to be used by linkers which are C-only in
+// their implementation for performing LTO.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_C_LINKTIMEOPTIMIZER_H
 #define LLVM_C_LINKTIMEOPTIMIZER_H

+ 11 - 10
include/llvm-c/Linker.h

@@ -1,14 +1,15 @@
 /*===-- llvm-c/Linker.h - Module Linker C Interface -------------*- C++ -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Linker.h                                                                  //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the C interface to the module/file/archive linker.      //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This file defines the C interface to the module/file/archive linker.       *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_LINKER_H
 #define LLVM_C_LINKER_H

+ 16 - 15
include/llvm-c/Object.h

@@ -1,19 +1,20 @@
 /*===-- llvm-c/Object.h - Object Lib C Iface --------------------*- C++ -*-===*/
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Object.h                                                                  //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMObject.a, which            //
-// implements object file reading and writing.                               //
-//                                                                           //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+/*                                                                            */
+/*                     The LLVM Compiler Infrastructure                       */
+/*                                                                            */
+/* This file is distributed under the University of Illinois Open Source      */
+/* License. See LICENSE.TXT for details.                                      */
+/*                                                                            */
+/*===----------------------------------------------------------------------===*/
+/*                                                                            */
+/* This header declares the C interface to libLLVMObject.a, which             */
+/* implements object file reading and writing.                                */
+/*                                                                            */
+/* Many exotic languages can interoperate with C code but have a harder time  */
+/* with C++ due to name mangling. So in addition to C, this interface enables */
+/* tools written in such languages.                                           */
+/*                                                                            */
+/*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_OBJECT_H
 #define LLVM_C_OBJECT_H

+ 11 - 10
include/llvm-c/Support.h

@@ -1,14 +1,15 @@
 /*===-- llvm-c/Support.h - Support C Interface --------------------*- C -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Support.h                                                                 //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the C interface to the LLVM support library.            //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This file defines the C interface to the LLVM support library.             *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_SUPPORT_H
 #define LLVM_C_SUPPORT_H

+ 16 - 15
include/llvm-c/Target.h

@@ -1,19 +1,20 @@
 /*===-- llvm-c/Target.h - Target Lib C Iface --------------------*- C++ -*-===*/
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Target.h                                                                  //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMTarget.a, which            //
-// implements target information.                                            //
-//                                                                           //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+/*                                                                            */
+/*                     The LLVM Compiler Infrastructure                       */
+/*                                                                            */
+/* This file is distributed under the University of Illinois Open Source      */
+/* License. See LICENSE.TXT for details.                                      */
+/*                                                                            */
+/*===----------------------------------------------------------------------===*/
+/*                                                                            */
+/* This header declares the C interface to libLLVMTarget.a, which             */
+/* implements target information.                                             */
+/*                                                                            */
+/* Many exotic languages can interoperate with C code but have a harder time  */
+/* with C++ due to name mangling. So in addition to C, this interface enables */
+/* tools written in such languages.                                           */
+/*                                                                            */
+/*===----------------------------------------------------------------------===*/
   
 #ifndef LLVM_C_TARGET_H
 #define LLVM_C_TARGET_H

+ 16 - 14
include/llvm-c/TargetMachine.h

@@ -1,18 +1,20 @@
 /*===-- llvm-c/TargetMachine.h - Target Machine Library C Interface - C++ -*-=*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// TargetMachine.h                                                           //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to the Target and TargetMachine      //
-// classes, which can be used to generate assembly or object files.          //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to the Target and TargetMachine       *|
+|* classes, which can be used to generate assembly or object files.           *|
+|*                                                                            *|
+|* Many exotic languages can interoperate with C code but have a harder time  *|
+|* with C++ due to name mangling. So in addition to C, this interface enables *|
+|* tools written in such languages.                                           *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_TARGETMACHINE_H
 #define LLVM_C_TARGETMACHINE_H

+ 12 - 11
include/llvm-c/Transforms/IPO.h

@@ -1,15 +1,16 @@
 /*===-- IPO.h - Interprocedural Transformations C Interface -----*- C++ -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// IPO.h                                                                     //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMIPO.a, which implements    //
-// various interprocedural transformations of the LLVM IR.                   //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to libLLVMIPO.a, which implements     *|
+|* various interprocedural transformations of the LLVM IR.                    *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_TRANSFORMS_IPO_H
 #define LLVM_C_TRANSFORMS_IPO_H

+ 11 - 10
include/llvm-c/Transforms/PassManagerBuilder.h

@@ -1,14 +1,15 @@
 /*===-- llvm-c/Transform/PassManagerBuilder.h - PMB C Interface ---*- C -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// PassManagerBuilder.h                                                      //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to the PassManagerBuilder class.     //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to the PassManagerBuilder class.      *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H
 #define LLVM_C_TRANSFORMS_PASSMANAGERBUILDER_H

+ 16 - 14
include/llvm-c/Transforms/Scalar.h

@@ -1,18 +1,20 @@
 /*===-- Scalar.h - Scalar Transformation Library C Interface ----*- C++ -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Scalar.h                                                                  //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMScalarOpts.a, which        //
-// implements various scalar transformations of the LLVM IR.                 //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to libLLVMScalarOpts.a, which         *|
+|* implements various scalar transformations of the LLVM IR.                  *|
+|*                                                                            *|
+|* Many exotic languages can interoperate with C code but have a harder time  *|
+|* with C++ due to name mangling. So in addition to C, this interface enables *|
+|* tools written in such languages.                                           *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_TRANSFORMS_SCALAR_H
 #define LLVM_C_TRANSFORMS_SCALAR_H

+ 17 - 14
include/llvm-c/Transforms/Vectorize.h

@@ -1,18 +1,21 @@
 /*===---------------------------Vectorize.h --------------------- -*- C -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Vectorize.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header declares the C interface to libLLVMVectorize.a, which         //
-// implements various vectorization transformations of the LLVM IR.          //
-// Many exotic languages can interoperate with C code but have a harder time //
-// with C++ due to name mangling. So in addition to C, this interface enables//
-// tools written in such languages.                                          //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*===----------- Vectorization Transformation Library C Interface ---------===*|
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header declares the C interface to libLLVMVectorize.a, which          *|
+|* implements various vectorization transformations of the LLVM IR.           *|
+|*                                                                            *|
+|* Many exotic languages can interoperate with C code but have a harder time  *|
+|* with C++ due to name mangling. So in addition to C, this interface enables *|
+|* tools written in such languages.                                           *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_TRANSFORMS_VECTORIZE_H
 #define LLVM_C_TRANSFORMS_VECTORIZE_H

+ 13 - 12
include/llvm-c/lto.h

@@ -1,16 +1,17 @@
 /*===-- llvm-c/lto.h - LTO Public C Interface ---------------------*- C -*-===*\
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// lto.h                                                                     //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This header provides public interface to an abstract link time optimization//
-// library.  LLVM provides an implementation of this interface for use with  //
-// llvm bitcode files.                                                       //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+|*                                                                            *|
+|*                     The LLVM Compiler Infrastructure                       *|
+|*                                                                            *|
+|* This file is distributed under the University of Illinois Open Source      *|
+|* License. See LICENSE.TXT for details.                                      *|
+|*                                                                            *|
+|*===----------------------------------------------------------------------===*|
+|*                                                                            *|
+|* This header provides public interface to an abstract link time optimization*|
+|* library.  LLVM provides an implementation of this interface for use with   *|
+|* llvm bitcode files.                                                        *|
+|*                                                                            *|
+\*===----------------------------------------------------------------------===*/
 
 #ifndef LLVM_C_LTO_H
 #define LLVM_C_LTO_H

+ 12 - 13
include/llvm/ADT/APFloat.h

@@ -1,19 +1,18 @@
 //===- llvm/ADT/APFloat.h - Arbitrary Precision Floating Point ---*- C++ -*-==//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// APFloat.h                                                                 //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 ///
-/// \file                                                                    //
-/// \brief                                                                   //
-/// This file declares a class to represent arbitrary precision floating point//
-/// values and provide a variety of arithmetic operations on them.           //
+/// \file
+/// \brief
+/// This file declares a class to represent arbitrary precision floating point
+/// values and provide a variety of arithmetic operations on them.
 ///
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_APFLOAT_H
 #define LLVM_ADT_APFLOAT_H

+ 10 - 10
include/llvm/ADT/APInt.h

@@ -1,15 +1,15 @@
 //===-- llvm/ADT/APInt.h - For Arbitrary Precision Integer -----*- C++ -*--===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// APInt.h                                                                   //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 ///
-/// \file                                                                    //
-/// \brief This file implements a class to represent arbitrary precision     //
-/// integral constant values and operations on them.                         //
+/// \file
+/// \brief This file implements a class to represent arbitrary precision
+/// integral constant values and operations on them.
 ///
 //===----------------------------------------------------------------------===//
 

+ 11 - 10
include/llvm/ADT/APSInt.h

@@ -1,15 +1,16 @@
 //===-- llvm/ADT/APSInt.h - Arbitrary Precision Signed Int -----*- C++ -*--===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// APSInt.h                                                                  //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements the APSInt class, which is a simple class that       //
-// represents an arbitrary sized integer that knows its signedness.          //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the APSInt class, which is a simple class that
+// represents an arbitrary sized integer that knows its signedness.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_APSINT_H
 #define LLVM_ADT_APSINT_H

+ 7 - 8
include/llvm/ADT/ArrayRef.h

@@ -1,12 +1,11 @@
 //===--- ArrayRef.h - Array Reference Wrapper -------------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ArrayRef.h                                                                //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_ARRAYREF_H
 #define LLVM_ADT_ARRAYREF_H

+ 10 - 9
include/llvm/ADT/BitVector.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/BitVector.h - Bit vectors -----------------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// BitVector.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements the BitVector class.                                 //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the BitVector class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_BITVECTOR_H
 #define LLVM_ADT_BITVECTOR_H

+ 6 - 8
include/llvm/ADT/DAGDeltaAlgorithm.h

@@ -1,12 +1,10 @@
 //===--- DAGDeltaAlgorithm.h - A DAG Minimization Algorithm ----*- C++ -*--===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// DAGDeltaAlgorithm.h                                                       //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_DAGDELTAALGORITHM_H
 #define LLVM_ADT_DAGDELTAALGORITHM_H

+ 6 - 8
include/llvm/ADT/DeltaAlgorithm.h

@@ -1,12 +1,10 @@
 //===--- DeltaAlgorithm.h - A Set Minimization Algorithm -------*- C++ -*--===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// DeltaAlgorithm.h                                                          //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_DELTAALGORITHM_H
 #define LLVM_ADT_DELTAALGORITHM_H

+ 10 - 9
include/llvm/ADT/DenseMap.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/DenseMap.h - Dense probed hash table ------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// DenseMap.h                                                                //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the DenseMap class.                                     //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the DenseMap class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_DENSEMAP_H
 #define LLVM_ADT_DENSEMAP_H

+ 10 - 9
include/llvm/ADT/DenseMapInfo.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/DenseMapInfo.h - Type traits for DenseMap -------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// DenseMapInfo.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines DenseMapInfo traits for DenseMap.                       //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines DenseMapInfo traits for DenseMap.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_DENSEMAPINFO_H
 #define LLVM_ADT_DENSEMAPINFO_H

+ 10 - 9
include/llvm/ADT/DenseSet.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/DenseSet.h - Dense probed hash table ------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// DenseSet.h                                                                //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the DenseSet class.                                     //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the DenseSet class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_DENSESET_H
 #define LLVM_ADT_DENSESET_H

+ 25 - 24
include/llvm/ADT/DepthFirstIterator.h

@@ -1,33 +1,34 @@
 //===- llvm/ADT/DepthFirstIterator.h - Depth First iterator -----*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// DepthFirstIterator.h                                                      //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file builds on the ADT/GraphTraits.h file to build generic depth     //
-// first graph iterator.  This file exposes the following functions/types:   //
 //
-// df_begin/df_end/df_iterator                                               //
-//   * Normal depth-first iteration - visit a node and then all of its children.//
+//                     The LLVM Compiler Infrastructure
 //
-// idf_begin/idf_end/idf_iterator                                            //
-//   * Depth-first iteration on the 'inverse' graph.                         //
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
-// df_ext_begin/df_ext_end/df_ext_iterator                                   //
-//   * Normal depth-first iteration - visit a node and then all of its children.//
-//     This iterator stores the 'visited' set in an external set, which allows//
-//     it to be more efficient, and allows external clients to use the set for//
-//     other purposes.                                                       //
+//===----------------------------------------------------------------------===//
 //
-// idf_ext_begin/idf_ext_end/idf_ext_iterator                                //
-//   * Depth-first iteration on the 'inverse' graph.                         //
-//     This iterator stores the 'visited' set in an external set, which allows//
-//     it to be more efficient, and allows external clients to use the set for//
-//     other purposes.                                                       //
+// This file builds on the ADT/GraphTraits.h file to build generic depth
+// first graph iterator.  This file exposes the following functions/types:
 //
-///////////////////////////////////////////////////////////////////////////////
+// df_begin/df_end/df_iterator
+//   * Normal depth-first iteration - visit a node and then all of its children.
+//
+// idf_begin/idf_end/idf_iterator
+//   * Depth-first iteration on the 'inverse' graph.
+//
+// df_ext_begin/df_ext_end/df_ext_iterator
+//   * Normal depth-first iteration - visit a node and then all of its children.
+//     This iterator stores the 'visited' set in an external set, which allows
+//     it to be more efficient, and allows external clients to use the set for
+//     other purposes.
+//
+// idf_ext_begin/idf_ext_end/idf_ext_iterator
+//   * Depth-first iteration on the 'inverse' graph.
+//     This iterator stores the 'visited' set in an external set, which allows
+//     it to be more efficient, and allows external clients to use the set for
+//     other purposes.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_DEPTHFIRSTITERATOR_H
 #define LLVM_ADT_DEPTHFIRSTITERATOR_H

+ 12 - 11
include/llvm/ADT/EpochTracker.h

@@ -1,16 +1,17 @@
 //===- llvm/ADT/EpochTracker.h - ADT epoch tracking --------------*- C++ -*-==//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// EpochTracker.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the DebugEpochBase and DebugEpochBase::HandleBase classes.//
-// These can be used to write iterators that are fail-fast when LLVM is built//
-// with asserts enabled.                                                     //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the DebugEpochBase and DebugEpochBase::HandleBase classes.
+// These can be used to write iterators that are fail-fast when LLVM is built
+// with asserts enabled.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_EPOCH_TRACKER_H
 #define LLVM_ADT_EPOCH_TRACKER_H

+ 11 - 10
include/llvm/ADT/EquivalenceClasses.h

@@ -1,15 +1,16 @@
 //===-- llvm/ADT/EquivalenceClasses.h - Generic Equiv. Classes --*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// EquivalenceClasses.h                                                      //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// Generic implementation of equivalence classes through the use Tarjan's    //
-// efficient union-find algorithm.                                           //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Generic implementation of equivalence classes through the use Tarjan's
+// efficient union-find algorithm.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_EQUIVALENCECLASSES_H
 #define LLVM_ADT_EQUIVALENCECLASSES_H

+ 11 - 10
include/llvm/ADT/FoldingSet.h

@@ -1,14 +1,15 @@
 //===-- llvm/ADT/FoldingSet.h - Uniquing Hash Set ---------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// FoldingSet.h                                                              //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines a hash set that can be used to remove duplication of nodes//
-// in a graph.  This code was originally created by Chris Lattner for use with//
-// SelectionDAGCSEMap, but was isolated to provide use across the llvm code set.//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines a hash set that can be used to remove duplication of nodes
+// in a graph.  This code was originally created by Chris Lattner for use with
+// SelectionDAGCSEMap, but was isolated to provide use across the llvm code set.
 //
 //===----------------------------------------------------------------------===//
 

+ 13 - 12
include/llvm/ADT/GraphTraits.h

@@ -1,18 +1,19 @@
 //===-- llvm/ADT/GraphTraits.h - Graph traits template ----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// GraphTraits.h                                                             //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the little GraphTraits<X> template class that should be //
-// specialized by classes that want to be iteratable by generic graph iterators.//
 //
-// This file also defines the marker class Inverse that is used to iterate over//
-// graphs in a graph defined, inverse ordering...                            //
+//                     The LLVM Compiler Infrastructure
 //
-///////////////////////////////////////////////////////////////////////////////
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the little GraphTraits<X> template class that should be
+// specialized by classes that want to be iteratable by generic graph iterators.
+//
+// This file also defines the marker class Inverse that is used to iterate over
+// graphs in a graph defined, inverse ordering...
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_GRAPHTRAITS_H
 #define LLVM_ADT_GRAPHTRAITS_H

+ 36 - 35
include/llvm/ADT/Hashing.h

@@ -1,45 +1,46 @@
 //===-- llvm/ADT/Hashing.h - Utilities for hashing --------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Hashing.h                                                                 //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements the newly proposed standard C++ interfaces for hashing//
-// arbitrary data and building hash functions for user-defined types. This   //
-// interface was originally proposed in N3333[1] and is currently under review//
-// for inclusion in a future TR and/or standard.                             //
 //
-// The primary interfaces provide are comprised of one type and three functions://
+//                     The LLVM Compiler Infrastructure
 //
-//  -- 'hash_code' class is an opaque type representing the hash code for some//
-//     data. It is the intended product of hashing, and can be used to implement//
-//     hash tables, checksumming, and other common uses of hashes. It is not an//
-//     integer type (although it can be converted to one) because it is risky//
-//     to assume much about the internals of a hash_code. In particular, each//
-//     execution of the program has a high probability of producing a different//
-//     hash_code for a given input. Thus their values are not stable to save or//
-//     persist, and should only be used during the execution for the         //
-//     construction of hashing datastructures.                               //
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
-//  -- 'hash_value' is a function designed to be overloaded for each         //
-//     user-defined type which wishes to be used within a hashing context. It//
-//     should be overloaded within the user-defined type's namespace and found//
-//     via ADL. Overloads for primitive types are provided by this library.  //
+//===----------------------------------------------------------------------===//
 //
-//  -- 'hash_combine' and 'hash_combine_range' are functions designed to aid //
-//      programmers in easily and intuitively combining a set of data into   //
-//      a single hash_code for their object. They should only logically be used//
-//      within the implementation of a 'hash_value' routine or similar context.//
+// This file implements the newly proposed standard C++ interfaces for hashing
+// arbitrary data and building hash functions for user-defined types. This
+// interface was originally proposed in N3333[1] and is currently under review
+// for inclusion in a future TR and/or standard.
 //
-// Note that 'hash_combine_range' contains very special logic for hashing    //
-// a contiguous array of integers or pointers. This logic is *extremely* fast,//
-// on a modern Intel "Gainestown" Xeon (Nehalem uarch) @2.2 GHz, these were  //
-// benchmarked at over 6.5 GiB/s for large keys, and <20 cycles/hash for keys//
-// under 32-bytes.                                                           //
+// The primary interfaces provide are comprised of one type and three functions:
 //
-///////////////////////////////////////////////////////////////////////////////
+//  -- 'hash_code' class is an opaque type representing the hash code for some
+//     data. It is the intended product of hashing, and can be used to implement
+//     hash tables, checksumming, and other common uses of hashes. It is not an
+//     integer type (although it can be converted to one) because it is risky
+//     to assume much about the internals of a hash_code. In particular, each
+//     execution of the program has a high probability of producing a different
+//     hash_code for a given input. Thus their values are not stable to save or
+//     persist, and should only be used during the execution for the
+//     construction of hashing datastructures.
+//
+//  -- 'hash_value' is a function designed to be overloaded for each
+//     user-defined type which wishes to be used within a hashing context. It
+//     should be overloaded within the user-defined type's namespace and found
+//     via ADL. Overloads for primitive types are provided by this library.
+//
+//  -- 'hash_combine' and 'hash_combine_range' are functions designed to aid
+//      programmers in easily and intuitively combining a set of data into
+//      a single hash_code for their object. They should only logically be used
+//      within the implementation of a 'hash_value' routine or similar context.
+//
+// Note that 'hash_combine_range' contains very special logic for hashing
+// a contiguous array of integers or pointers. This logic is *extremely* fast,
+// on a modern Intel "Gainestown" Xeon (Nehalem uarch) @2.2 GHz, these were
+// benchmarked at over 6.5 GiB/s for large keys, and <20 cycles/hash for keys
+// under 32-bytes.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_HASHING_H
 #define LLVM_ADT_HASHING_H

+ 9 - 8
include/llvm/ADT/ImmutableList.h

@@ -1,12 +1,13 @@
 //==--- ImmutableList.h - Immutable (functional) list interface --*- C++ -*-==//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ImmutableList.h                                                           //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the ImmutableList class.                                //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the ImmutableList class.
 //
 //===----------------------------------------------------------------------===//
 

+ 10 - 9
include/llvm/ADT/ImmutableMap.h

@@ -1,14 +1,15 @@
 //===--- ImmutableMap.h - Immutable (functional) map interface --*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ImmutableMap.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the ImmutableMap class.                                 //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the ImmutableMap class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_IMMUTABLEMAP_H
 #define LLVM_ADT_IMMUTABLEMAP_H

+ 9 - 8
include/llvm/ADT/ImmutableSet.h

@@ -1,12 +1,13 @@
 //===--- ImmutableSet.h - Immutable (functional) set interface --*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ImmutableSet.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the ImutAVLTree and ImmutableSet classes.               //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the ImutAVLTree and ImmutableSet classes.
 //
 //===----------------------------------------------------------------------===//
 

+ 16 - 15
include/llvm/ADT/IndexedMap.h

@@ -1,20 +1,21 @@
 //===- llvm/ADT/IndexedMap.h - An index map implementation ------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// IndexedMap.h                                                              //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements an indexed map. The index map template takes two     //
-// types. The first is the mapped type and the second is a functor           //
-// that maps its argument to a size_t. On instantiation a "null" value       //
-// can be provided to be used as a "does not exist" indicator in the         //
-// map. A member function grow() is provided that given the value of         //
-// the maximally indexed key (the argument of the functor) makes sure        //
-// the map has enough space for it.                                          //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements an indexed map. The index map template takes two
+// types. The first is the mapped type and the second is a functor
+// that maps its argument to a size_t. On instantiation a "null" value
+// can be provided to be used as a "does not exist" indicator in the
+// map. A member function grow() is provided that given the value of
+// the maximally indexed key (the argument of the functor) makes sure
+// the map has enough space for it.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_INDEXEDMAP_H
 #define LLVM_ADT_INDEXEDMAP_H

+ 15 - 14
include/llvm/ADT/IntEqClasses.h

@@ -1,21 +1,22 @@
 //===-- llvm/ADT/IntEqClasses.h - Equiv. Classes of Integers ----*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// IntEqClasses.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// Equivalence classes for small integers. This is a mapping of the integers //
-// 0 .. N-1 into M equivalence classes numbered 0 .. M-1.                    //
 //
-// Initially each integer has its own equivalence class. Classes are joined by//
-// passing a representative member of each class to join().                  //
+//                     The LLVM Compiler Infrastructure
 //
-// Once the classes are built, compress() will number them 0 .. M-1 and prevent//
-// further changes.                                                          //
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
-///////////////////////////////////////////////////////////////////////////////
+//===----------------------------------------------------------------------===//
+//
+// Equivalence classes for small integers. This is a mapping of the integers
+// 0 .. N-1 into M equivalence classes numbered 0 .. M-1.
+//
+// Initially each integer has its own equivalence class. Classes are joined by
+// passing a representative member of each class to join().
+//
+// Once the classes are built, compress() will number them 0 .. M-1 and prevent
+// further changes.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_INTEQCLASSES_H
 #define LLVM_ADT_INTEQCLASSES_H

+ 76 - 75
include/llvm/ADT/IntervalMap.h

@@ -1,97 +1,98 @@
 //===- llvm/ADT/IntervalMap.h - A sorted interval map -----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// IntervalMap.h                                                             //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements a coalescing interval map for small objects.         //
 //
-// KeyT objects are mapped to ValT objects. Intervals of keys that map to the//
-// same value are represented in a compressed form.                          //
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements a coalescing interval map for small objects.
+//
+// KeyT objects are mapped to ValT objects. Intervals of keys that map to the
+// same value are represented in a compressed form.
 //
-// Iterators provide ordered access to the compressed intervals rather than the//
-// individual keys, and insert and erase operations use key intervals as well.//
+// Iterators provide ordered access to the compressed intervals rather than the
+// individual keys, and insert and erase operations use key intervals as well.
 //
-// Like SmallVector, IntervalMap will store the first N intervals in the map //
-// object itself without any allocations. When space is exhausted it switches to//
-// a B+-tree representation with very small overhead for small key and value //
-// objects.                                                                  //
+// Like SmallVector, IntervalMap will store the first N intervals in the map
+// object itself without any allocations. When space is exhausted it switches to
+// a B+-tree representation with very small overhead for small key and value
+// objects.
 //
-// A Traits class specifies how keys are compared. It also allows IntervalMap to//
-// work with both closed and half-open intervals.                            //
+// A Traits class specifies how keys are compared. It also allows IntervalMap to
+// work with both closed and half-open intervals.
 //
-// Keys and values are not stored next to each other in a std::pair, so we don't//
-// provide such a value_type. Dereferencing iterators only returns the mapped//
-// value. The interval bounds are accessible through the start() and stop()  //
-// iterator methods.                                                         //
+// Keys and values are not stored next to each other in a std::pair, so we don't
+// provide such a value_type. Dereferencing iterators only returns the mapped
+// value. The interval bounds are accessible through the start() and stop()
+// iterator methods.
 //
-// IntervalMap is optimized for small key and value objects, 4 or 8 bytes each//
-// is the optimal size. For large objects use std::map instead.              //
+// IntervalMap is optimized for small key and value objects, 4 or 8 bytes each
+// is the optimal size. For large objects use std::map instead.
 //
 //===----------------------------------------------------------------------===//
 //
-// Synopsis:                                                                 //
+// Synopsis:
 //
-// template <typename KeyT, typename ValT, unsigned N, typename Traits>      //
-// class IntervalMap {                                                       //
-// public:                                                                   //
-//   typedef KeyT key_type;                                                  //
-//   typedef ValT mapped_type;                                               //
-//   typedef RecyclingAllocator<...> Allocator;                              //
-//   class iterator;                                                         //
-//   class const_iterator;                                                   //
+// template <typename KeyT, typename ValT, unsigned N, typename Traits>
+// class IntervalMap {
+// public:
+//   typedef KeyT key_type;
+//   typedef ValT mapped_type;
+//   typedef RecyclingAllocator<...> Allocator;
+//   class iterator;
+//   class const_iterator;
 //
-//   explicit IntervalMap(Allocator&);                                       //
-//   ~IntervalMap():                                                         //
+//   explicit IntervalMap(Allocator&);
+//   ~IntervalMap():
 //
-//   bool empty() const;                                                     //
-//   KeyT start() const;                                                     //
-//   KeyT stop() const;                                                      //
-//   ValT lookup(KeyT x, Value NotFound = Value()) const;                    //
+//   bool empty() const;
+//   KeyT start() const;
+//   KeyT stop() const;
+//   ValT lookup(KeyT x, Value NotFound = Value()) const;
 //
-//   const_iterator begin() const;                                           //
-//   const_iterator end() const;                                             //
-//   iterator begin();                                                       //
-//   iterator end();                                                         //
-//   const_iterator find(KeyT x) const;                                      //
-//   iterator find(KeyT x);                                                  //
+//   const_iterator begin() const;
+//   const_iterator end() const;
+//   iterator begin();
+//   iterator end();
+//   const_iterator find(KeyT x) const;
+//   iterator find(KeyT x);
 //
-//   void insert(KeyT a, KeyT b, ValT y);                                    //
-//   void clear();                                                           //
-// };                                                                        //
+//   void insert(KeyT a, KeyT b, ValT y);
+//   void clear();
+// };
 //
-// template <typename KeyT, typename ValT, unsigned N, typename Traits>      //
-// class IntervalMap::const_iterator :                                       //
-//   public std::iterator<std::bidirectional_iterator_tag, ValT> {           //
-// public:                                                                   //
-//   bool operator==(const const_iterator &) const;                          //
-//   bool operator!=(const const_iterator &) const;                          //
-//   bool valid() const;                                                     //
+// template <typename KeyT, typename ValT, unsigned N, typename Traits>
+// class IntervalMap::const_iterator :
+//   public std::iterator<std::bidirectional_iterator_tag, ValT> {
+// public:
+//   bool operator==(const const_iterator &) const;
+//   bool operator!=(const const_iterator &) const;
+//   bool valid() const;
 //
-//   const KeyT &start() const;                                              //
-//   const KeyT &stop() const;                                               //
-//   const ValT &value() const;                                              //
-//   const ValT &operator*() const;                                          //
-//   const ValT *operator->() const;                                         //
+//   const KeyT &start() const;
+//   const KeyT &stop() const;
+//   const ValT &value() const;
+//   const ValT &operator*() const;
+//   const ValT *operator->() const;
 //
-//   const_iterator &operator++();                                           //
-//   const_iterator &operator++(int);                                        //
-//   const_iterator &operator--();                                           //
-//   const_iterator &operator--(int);                                        //
-//   void goToBegin();                                                       //
-//   void goToEnd();                                                         //
-//   void find(KeyT x);                                                      //
-//   void advanceTo(KeyT x);                                                 //
-// };                                                                        //
+//   const_iterator &operator++();
+//   const_iterator &operator++(int);
+//   const_iterator &operator--();
+//   const_iterator &operator--(int);
+//   void goToBegin();
+//   void goToEnd();
+//   void find(KeyT x);
+//   void advanceTo(KeyT x);
+// };
 //
-// template <typename KeyT, typename ValT, unsigned N, typename Traits>      //
-// class IntervalMap::iterator : public const_iterator {                     //
-// public:                                                                   //
-//   void insert(KeyT a, KeyT b, Value y);                                   //
-//   void erase();                                                           //
-// };                                                                        //
+// template <typename KeyT, typename ValT, unsigned N, typename Traits>
+// class IntervalMap::iterator : public const_iterator {
+// public:
+//   void insert(KeyT a, KeyT b, Value y);
+//   void erase();
+// };
 //
 //===----------------------------------------------------------------------===//
 

+ 15 - 14
include/llvm/ADT/IntrusiveRefCntPtr.h

@@ -1,19 +1,20 @@
 //== llvm/ADT/IntrusiveRefCntPtr.h - Smart Refcounting Pointer ---*- C++ -*-==//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// IntrusiveRefCntPtr.h                                                      //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines IntrusiveRefCntPtr, a template class that               //
-// implements a "smart" pointer for objects that maintain their own          //
-// internal reference count, and RefCountedBase/RefCountedBaseVPTR, two      //
-// generic base classes for objects that wish to have their lifetimes        //
-// managed using reference counting.                                         //
 //
-// IntrusiveRefCntPtr is similar to Boost's intrusive_ptr with added         //
-// LLVM-style casting.                                                       //
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines IntrusiveRefCntPtr, a template class that
+// implements a "smart" pointer for objects that maintain their own
+// internal reference count, and RefCountedBase/RefCountedBaseVPTR, two
+// generic base classes for objects that wish to have their lifetimes
+// managed using reference counting.
+//
+// IntrusiveRefCntPtr is similar to Boost's intrusive_ptr with added
+// LLVM-style casting.
 //
 //===----------------------------------------------------------------------===//
 

+ 13 - 12
include/llvm/ADT/MapVector.h

@@ -1,17 +1,18 @@
 //===- llvm/ADT/MapVector.h - Map w/ deterministic value order --*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// MapVector.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements a map that provides insertion order iteration. The   //
-// interface is purposefully minimal. The key is assumed to be cheap to copy //
-// and 2 copies are kept, one for indexing in a DenseMap, one for iteration in//
-// a std::vector.                                                            //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements a map that provides insertion order iteration. The
+// interface is purposefully minimal. The key is assumed to be cheap to copy
+// and 2 copies are kept, one for indexing in a DenseMap, one for iteration in
+// a std::vector.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_MAPVECTOR_H
 #define LLVM_ADT_MAPVECTOR_H

+ 12 - 11
include/llvm/ADT/None.h

@@ -1,16 +1,17 @@
 //===-- None.h - Simple null value for implicit construction ------*- C++ -*-=//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// None.h                                                                    //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-//  This file provides None, an enumerator for use in implicit constructors  //
-//  of various (usually templated) types to make such construction more      //
-//  terse.                                                                   //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+//  This file provides None, an enumerator for use in implicit constructors
+//  of various (usually templated) types to make such construction more
+//  terse.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_NONE_H
 #define LLVM_ADT_NONE_H

+ 12 - 11
include/llvm/ADT/Optional.h

@@ -1,16 +1,17 @@
 //===-- Optional.h - Simple variant for passing optional values ---*- C++ -*-=//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Optional.h                                                                //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-//  This file provides Optional, a template class modeled in the spirit of   //
-//  OCaml's 'opt' variant.  The idea is to strongly type whether or not      //
-//  a value can be optional.                                                 //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+//  This file provides Optional, a template class modeled in the spirit of
+//  OCaml's 'opt' variant.  The idea is to strongly type whether or not
+//  a value can be optional.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_OPTIONAL_H
 #define LLVM_ADT_OPTIONAL_H

+ 10 - 9
include/llvm/ADT/PackedVector.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/PackedVector.h - Packed values vector -----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// PackedVector.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements the PackedVector class.                              //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the PackedVector class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_PACKEDVECTOR_H
 #define LLVM_ADT_PACKEDVECTOR_H

+ 10 - 9
include/llvm/ADT/PointerIntPair.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/PointerIntPair.h - Pair for pointer and int -----*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// PointerIntPair.h                                                          //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the PointerIntPair class.                               //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the PointerIntPair class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_POINTERINTPAIR_H
 #define LLVM_ADT_POINTERINTPAIR_H

+ 11 - 10
include/llvm/ADT/PointerUnion.h

@@ -1,15 +1,16 @@
 //===- llvm/ADT/PointerUnion.h - Discriminated Union of 2 Ptrs --*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// PointerUnion.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the PointerUnion class, which is a discriminated union of//
-// pointer types.                                                            //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the PointerUnion class, which is a discriminated union of
+// pointer types.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_POINTERUNION_H
 #define LLVM_ADT_POINTERUNION_H

+ 12 - 11
include/llvm/ADT/PostOrderIterator.h

@@ -1,16 +1,17 @@
 //===- llvm/ADT/PostOrderIterator.h - PostOrder iterator --------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// PostOrderIterator.h                                                       //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file builds on the ADT/GraphTraits.h file to build a generic graph   //
-// post order iterator.  This should work over any graph type that has a     //
-// GraphTraits specialization.                                               //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file builds on the ADT/GraphTraits.h file to build a generic graph
+// post order iterator.  This should work over any graph type that has a
+// GraphTraits specialization.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_POSTORDERITERATOR_H
 #define LLVM_ADT_POSTORDERITERATOR_H

+ 10 - 9
include/llvm/ADT/PriorityQueue.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/PriorityQueue.h - Priority queues ---------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// PriorityQueue.h                                                           //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the PriorityQueue class.                                //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the PriorityQueue class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_PRIORITYQUEUE_H
 #define LLVM_ADT_PRIORITYQUEUE_H

+ 16 - 17
include/llvm/ADT/SCCIterator.h

@@ -1,25 +1,24 @@
 //===---- ADT/SCCIterator.h - Strongly Connected Comp. Iter. ----*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SCCIterator.h                                                             //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-/// \file                                                                    //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+/// \file
 ///
-/// This builds on the llvm/ADT/GraphTraits.h file to find the strongly      //
-/// connected components (SCCs) of a graph in O(N+E) time using Tarjan's DFS //
-/// algorithm.                                                               //
+/// This builds on the llvm/ADT/GraphTraits.h file to find the strongly
+/// connected components (SCCs) of a graph in O(N+E) time using Tarjan's DFS
+/// algorithm.
 ///
-/// The SCC iterator has the important property that if a node in SCC S1 has an//
-/// edge to a node in SCC S2, then it visits S1 *after* S2.                  //
+/// The SCC iterator has the important property that if a node in SCC S1 has an
+/// edge to a node in SCC S2, then it visits S1 *after* S2.
 ///
-/// To visit S1 *before* S2, use the scc_iterator on the Inverse graph. (NOTE://
-/// This requires some simple wrappers and is not supported yet.)            //
+/// To visit S1 *before* S2, use the scc_iterator on the Inverse graph. (NOTE:
+/// This requires some simple wrappers and is not supported yet.)
 ///
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SCCITERATOR_H
 #define LLVM_ADT_SCCITERATOR_H

+ 11 - 10
include/llvm/ADT/STLExtras.h

@@ -1,15 +1,16 @@
 //===- llvm/ADT/STLExtras.h - Useful STL related functions ------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// STLExtras.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file contains some templates that are useful if you are working with the//
-// STL at all.                                                               //
 //
-// No library is required when using these functions.                        //
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains some templates that are useful if you are working with the
+// STL at all.
+//
+// No library is required when using these functions.
 //
 //===----------------------------------------------------------------------===//
 

+ 25 - 24
include/llvm/ADT/ScopedHashTable.h

@@ -1,31 +1,32 @@
 //===- ScopedHashTable.h - A simple scoped hash table ---------------------===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ScopedHashTable.h                                                         //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements an efficient scoped hash table, which is useful for  //
-// things like dominator-based optimizations.  This allows clients to do things//
-// like this:                                                                //
 //
-//  ScopedHashTable<int, int> HT;                                            //
-//  {                                                                        //
-//    ScopedHashTableScope<int, int> Scope1(HT);                             //
-//    HT.insert(0, 0);                                                       //
-//    HT.insert(1, 1);                                                       //
-//    {                                                                      //
-//      ScopedHashTableScope<int, int> Scope2(HT);                           //
-//      HT.insert(0, 42);                                                    //
-//    }                                                                      //
-//  }                                                                        //
+//                     The LLVM Compiler Infrastructure
 //
-// Looking up the value for "0" in the Scope2 block will return 42.  Looking //
-// up the value for 0 before 42 is inserted or after Scope2 is popped will   //
-// return 0.                                                                 //
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
-///////////////////////////////////////////////////////////////////////////////
+//===----------------------------------------------------------------------===//
+//
+// This file implements an efficient scoped hash table, which is useful for
+// things like dominator-based optimizations.  This allows clients to do things
+// like this:
+//
+//  ScopedHashTable<int, int> HT;
+//  {
+//    ScopedHashTableScope<int, int> Scope1(HT);
+//    HT.insert(0, 0);
+//    HT.insert(1, 1);
+//    {
+//      ScopedHashTableScope<int, int> Scope2(HT);
+//      HT.insert(0, 42);
+//    }
+//  }
+//
+// Looking up the value for "0" in the Scope2 block will return 42.  Looking
+// up the value for 0 before 42 is inserted or after Scope2 is popped will
+// return 0.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SCOPEDHASHTABLE_H
 #define LLVM_ADT_SCOPEDHASHTABLE_H

+ 11 - 10
include/llvm/ADT/SetOperations.h

@@ -1,15 +1,16 @@
 //===-- llvm/ADT/SetOperations.h - Generic Set Operations -------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SetOperations.h                                                           //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines generic set operations that may be used on set's of     //
-// different types, and different element types.                             //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines generic set operations that may be used on set's of
+// different types, and different element types.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SETOPERATIONS_H
 #define LLVM_ADT_SETOPERATIONS_H

+ 15 - 14
include/llvm/ADT/SetVector.h

@@ -1,20 +1,21 @@
 //===- llvm/ADT/SetVector.h - Set with insert order iteration ---*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SetVector.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements a set that has insertion order iteration             //
-// characteristics. This is useful for keeping a set of things that need to be//
-// visited later but in a deterministic order (insertion order). The interface//
-// is purposefully minimal.                                                  //
 //
-// This file defines SetVector and SmallSetVector, which performs no allocations//
-// if the SetVector has less than a certain number of elements.              //
+//                     The LLVM Compiler Infrastructure
 //
-///////////////////////////////////////////////////////////////////////////////
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements a set that has insertion order iteration
+// characteristics. This is useful for keeping a set of things that need to be
+// visited later but in a deterministic order (insertion order). The interface
+// is purposefully minimal.
+//
+// This file defines SetVector and SmallSetVector, which performs no allocations
+// if the SetVector has less than a certain number of elements.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SETVECTOR_H
 #define LLVM_ADT_SETVECTOR_H

+ 10 - 9
include/llvm/ADT/SmallBitVector.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/SmallBitVector.h - 'Normally small' bit vectors -*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SmallBitVector.h                                                          //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file implements the SmallBitVector class.                            //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the SmallBitVector class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SMALLBITVECTOR_H
 #define LLVM_ADT_SMALLBITVECTOR_H

+ 11 - 10
include/llvm/ADT/SmallPtrSet.h

@@ -1,15 +1,16 @@
 //===- llvm/ADT/SmallPtrSet.h - 'Normally small' pointer set ----*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SmallPtrSet.h                                                             //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the SmallPtrSet class.  See the doxygen comment for     //
-// SmallPtrSetImplBase for more details on the algorithm used.               //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the SmallPtrSet class.  See the doxygen comment for
+// SmallPtrSetImplBase for more details on the algorithm used.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SMALLPTRSET_H
 #define LLVM_ADT_SMALLPTRSET_H

+ 10 - 9
include/llvm/ADT/SmallSet.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/SmallSet.h - 'Normally small' sets --------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SmallSet.h                                                                //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the SmallSet class.                                     //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the SmallSet class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SMALLSET_H
 #define LLVM_ADT_SMALLSET_H

+ 10 - 9
include/llvm/ADT/SmallString.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/SmallString.h - 'Normally small' strings --------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SmallString.h                                                             //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the SmallString class.                                  //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the SmallString class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SMALLSTRING_H
 #define LLVM_ADT_SMALLSTRING_H

+ 10 - 9
include/llvm/ADT/SmallVector.h

@@ -1,14 +1,15 @@
 //===- llvm/ADT/SmallVector.h - 'Normally small' vectors --------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SmallVector.h                                                             //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the SmallVector class.                                  //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the SmallVector class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SMALLVECTOR_H
 #define LLVM_ADT_SMALLVECTOR_H

+ 11 - 10
include/llvm/ADT/SparseBitVector.h

@@ -1,15 +1,16 @@
 //===- llvm/ADT/SparseBitVector.h - Efficient Sparse BitVector -*- C++ -*- ===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SparseBitVector.h                                                         //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the SparseBitVector class.  See the doxygen comment for //
-// SparseBitVector for more details on the algorithm used.                   //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the SparseBitVector class.  See the doxygen comment for
+// SparseBitVector for more details on the algorithm used.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SPARSEBITVECTOR_H
 #define LLVM_ADT_SPARSEBITVECTOR_H

+ 16 - 15
include/llvm/ADT/SparseMultiSet.h

@@ -1,21 +1,22 @@
 //===--- llvm/ADT/SparseMultiSet.h - Sparse multiset ------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SparseMultiSet.h                                                          //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the SparseMultiSet class, which adds multiset behavior to//
-// the SparseSet.                                                            //
 //
-// A sparse multiset holds a small number of objects identified by integer keys//
-// from a moderately sized universe. The sparse multiset uses more memory than//
-// other containers in order to provide faster operations. Any key can map to//
-// multiple values. A SparseMultiSetNode class is provided, which serves as a//
-// convenient base class for the contents of a SparseMultiSet.               //
+//                     The LLVM Compiler Infrastructure
 //
-///////////////////////////////////////////////////////////////////////////////
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the SparseMultiSet class, which adds multiset behavior to
+// the SparseSet.
+//
+// A sparse multiset holds a small number of objects identified by integer keys
+// from a moderately sized universe. The sparse multiset uses more memory than
+// other containers in order to provide faster operations. Any key can map to
+// multiple values. A SparseMultiSetNode class is provided, which serves as a
+// convenient base class for the contents of a SparseMultiSet.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SPARSEMULTISET_H
 #define LLVM_ADT_SPARSEMULTISET_H

+ 15 - 14
include/llvm/ADT/SparseSet.h

@@ -1,20 +1,21 @@
 //===--- llvm/ADT/SparseSet.h - Sparse set ----------------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// SparseSet.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the SparseSet class derived from the version described in//
-// Briggs, Torczon, "An efficient representation for sparse sets", ACM Letters//
-// on Programming Languages and Systems, Volume 2 Issue 1-4, March-Dec.  1993.//
 //
-// A sparse set holds a small number of objects identified by integer keys from//
-// a moderately sized universe. The sparse set uses more memory than other   //
-// containers in order to provide faster operations.                         //
+//                     The LLVM Compiler Infrastructure
 //
-///////////////////////////////////////////////////////////////////////////////
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the SparseSet class derived from the version described in
+// Briggs, Torczon, "An efficient representation for sparse sets", ACM Letters
+// on Programming Languages and Systems, Volume 2 Issue 1-4, March-Dec.  1993.
+//
+// A sparse set holds a small number of objects identified by integer keys from
+// a moderately sized universe. The sparse set uses more memory than other
+// containers in order to provide faster operations.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_SPARSESET_H
 #define LLVM_ADT_SPARSESET_H

+ 18 - 17
include/llvm/ADT/Statistic.h

@@ -1,26 +1,27 @@
 //===-- llvm/ADT/Statistic.h - Easy way to expose stats ---------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Statistic.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the 'Statistic' class, which is designed to be an easy way//
-// to expose various metrics from passes.  These statistics are printed at the//
-// end of a run (from llvm_shutdown), when the -stats command line option is //
-// passed on the command line.                                               //
 //
-// This is useful for reporting information like the number of instructions  //
-// simplified, optimized or removed by various transformations, like this:   //
+//                     The LLVM Compiler Infrastructure
 //
-// static Statistic NumInstsKilled("gcse", "Number of instructions killed"); //
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
-// Later, in the code: ++NumInstsKilled;                                     //
+//===----------------------------------------------------------------------===//
 //
-// NOTE: Statistics *must* be declared as global variables.                  //
+// This file defines the 'Statistic' class, which is designed to be an easy way
+// to expose various metrics from passes.  These statistics are printed at the
+// end of a run (from llvm_shutdown), when the -stats command line option is
+// passed on the command line.
 //
-///////////////////////////////////////////////////////////////////////////////
+// This is useful for reporting information like the number of instructions
+// simplified, optimized or removed by various transformations, like this:
+//
+// static Statistic NumInstsKilled("gcse", "Number of instructions killed");
+//
+// Later, in the code: ++NumInstsKilled;
+//
+// NOTE: Statistics *must* be declared as global variables.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_STATISTIC_H
 #define LLVM_ADT_STATISTIC_H

+ 10 - 9
include/llvm/ADT/StringExtras.h

@@ -1,14 +1,15 @@
 //===-- llvm/ADT/StringExtras.h - Useful string functions -------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// StringExtras.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file contains some functions that are useful when dealing with strings.//
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains some functions that are useful when dealing with strings.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_STRINGEXTRAS_H
 #define LLVM_ADT_STRINGEXTRAS_H

+ 10 - 9
include/llvm/ADT/StringMap.h

@@ -1,14 +1,15 @@
 //===--- StringMap.h - String Hash table map interface ----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// StringMap.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the StringMap class.                                    //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the StringMap class.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_STRINGMAP_H
 #define LLVM_ADT_STRINGMAP_H

+ 7 - 8
include/llvm/ADT/StringRef.h

@@ -1,12 +1,11 @@
 //===--- StringRef.h - Constant String Reference Wrapper --------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// StringRef.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_STRINGREF_H
 #define LLVM_ADT_STRINGREF_H

+ 10 - 9
include/llvm/ADT/StringSet.h

@@ -1,14 +1,15 @@
 //===--- StringSet.h - The LLVM Compiler Driver -----------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// StringSet.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-//  StringSet - A set-like wrapper for the StringMap.                        //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open
+// Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+//  StringSet - A set-like wrapper for the StringMap.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_STRINGSET_H
 #define LLVM_ADT_STRINGSET_H

+ 11 - 11
include/llvm/ADT/StringSwitch.h

@@ -1,15 +1,15 @@
 //===--- StringSwitch.h - Switch-on-literal-string Construct --------------===/
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// StringSwitch.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-//  This file implements the StringSwitch template, which mimics a switch()  //
-//  statement whose cases are string literals.                               //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//===----------------------------------------------------------------------===/
+//
+//  This file implements the StringSwitch template, which mimics a switch()
+//  statement whose cases are string literals.
+//
+//===----------------------------------------------------------------------===/
 
 #ifndef LLVM_ADT_STRINGSWITCH_H
 #define LLVM_ADT_STRINGSWITCH_H

+ 7 - 8
include/llvm/ADT/TinyPtrVector.h

@@ -1,12 +1,11 @@
 //===- llvm/ADT/TinyPtrVector.h - 'Normally tiny' vectors -------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// TinyPtrVector.h                                                           //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_TINYPTRVECTOR_H
 #define LLVM_ADT_TINYPTRVECTOR_H

+ 7 - 8
include/llvm/ADT/Triple.h

@@ -1,12 +1,11 @@
 //===-- llvm/ADT/Triple.h - Target triple helper class ----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Triple.h                                                                  //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_TRIPLE_H
 #define LLVM_ADT_TRIPLE_H

+ 7 - 8
include/llvm/ADT/Twine.h

@@ -1,12 +1,11 @@
 //===-- Twine.h - Fast Temporary String Concatenation -----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// Twine.h                                                                   //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_TWINE_H
 #define LLVM_ADT_TWINE_H

+ 7 - 7
include/llvm/ADT/UniqueVector.h

@@ -1,11 +1,11 @@
 //===-- llvm/ADT/UniqueVector.h ---------------------------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// UniqueVector.h                                                            //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 #ifndef LLVM_ADT_UNIQUEVECTOR_H
 #define LLVM_ADT_UNIQUEVECTOR_H
 

+ 10 - 9
include/llvm/ADT/VariadicFunction.h

@@ -1,14 +1,15 @@
 //===--- VariadicFunctions.h - Variadic Functions ---------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// VariadicFunction.h                                                        //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-//  This file implements compile-time type-safe variadic functions.          //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+//  This file implements compile-time type-safe variadic functions.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_VARIADICFUNCTION_H
 #define LLVM_ADT_VARIADICFUNCTION_H

+ 12 - 11
include/llvm/ADT/edit_distance.h

@@ -1,16 +1,17 @@
 //===-- llvm/ADT/edit_distance.h - Array edit distance function --- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// edit_distance.h                                                           //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines a Levenshtein distance function that works for any two  //
-// sequences, with each element of each sequence being analogous to a character//
-// in a string.                                                              //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines a Levenshtein distance function that works for any two
+// sequences, with each element of each sequence being analogous to a character
+// in a string.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_EDIT_DISTANCE_H
 #define LLVM_ADT_EDIT_DISTANCE_H

+ 28 - 27
include/llvm/ADT/ilist.h

@@ -1,36 +1,37 @@
 //==-- llvm/ADT/ilist.h - Intrusive Linked List Template ---------*- C++ -*-==//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ilist.h                                                                   //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines classes to implement an intrusive doubly linked list class//
-// (i.e. each node of the list must contain a next and previous field for the//
-// list.                                                                     //
 //
-// The ilist_traits trait class is used to gain access to the next and previous//
-// fields of the node type that the list is instantiated with.  If it is not //
-// specialized, the list defaults to using the getPrev(), getNext() method calls//
-// to get the next and previous pointers.                                    //
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines classes to implement an intrusive doubly linked list class
+// (i.e. each node of the list must contain a next and previous field for the
+// list.
+//
+// The ilist_traits trait class is used to gain access to the next and previous
+// fields of the node type that the list is instantiated with.  If it is not
+// specialized, the list defaults to using the getPrev(), getNext() method calls
+// to get the next and previous pointers.
 //
-// The ilist class itself, should be a plug in replacement for list, assuming//
-// that the nodes contain next/prev pointers.  This list replacement does not//
-// provide a constant time size() method, so be careful to use empty() when you//
-// really want to know if it's empty.                                        //
+// The ilist class itself, should be a plug in replacement for list, assuming
+// that the nodes contain next/prev pointers.  This list replacement does not
+// provide a constant time size() method, so be careful to use empty() when you
+// really want to know if it's empty.
 //
-// The ilist class is implemented by allocating a 'tail' node when the list is//
-// created (using ilist_traits<>::createSentinel()).  This tail node is      //
-// absolutely required because the user must be able to compute end()-1. Because//
-// of this, users of the direct next/prev links will see an extra link on the//
-// end of the list, which should be ignored.                                 //
+// The ilist class is implemented by allocating a 'tail' node when the list is
+// created (using ilist_traits<>::createSentinel()).  This tail node is
+// absolutely required because the user must be able to compute end()-1. Because
+// of this, users of the direct next/prev links will see an extra link on the
+// end of the list, which should be ignored.
 //
-// Requirements for a user of this list:                                     //
+// Requirements for a user of this list:
 //
-//   1. The user must provide {g|s}et{Next|Prev} methods, or specialize      //
-//      ilist_traits to provide an alternate way of getting and setting next and//
-//      prev links.                                                          //
+//   1. The user must provide {g|s}et{Next|Prev} methods, or specialize
+//      ilist_traits to provide an alternate way of getting and setting next and
+//      prev links.
 //
 //===----------------------------------------------------------------------===//
 

+ 11 - 10
include/llvm/ADT/ilist_node.h

@@ -1,15 +1,16 @@
 //==-- llvm/ADT/ilist_node.h - Intrusive Linked List Helper ------*- C++ -*-==//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// ilist_node.h                                                              //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the ilist_node class template, which is a convenient    //
-// base class for creating classes that can be used with ilists.             //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the ilist_node class template, which is a convenient
+// base class for creating classes that can be used with ilists.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_ILIST_NODE_H
 #define LLVM_ADT_ILIST_NODE_H

+ 7 - 8
include/llvm/ADT/iterator.h

@@ -1,12 +1,11 @@
 //===- iterator.h - Utilities for using and defining iterators --*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// iterator.h                                                                //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_ITERATOR_H
 #define LLVM_ADT_ITERATOR_H

+ 14 - 15
include/llvm/ADT/iterator_range.h

@@ -1,21 +1,20 @@
 //===- iterator_range.h - A range adaptor for iterators ---------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// iterator_range.h                                                          //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-/// \file                                                                    //
-/// This provides a very simple, boring adaptor for a begin and end iterator //
-/// into a range type. This should be used to build range views that work well//
-/// with range based for loops and range based constructors.                 //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+/// \file
+/// This provides a very simple, boring adaptor for a begin and end iterator
+/// into a range type. This should be used to build range views that work well
+/// with range based for loops and range based constructors.
 ///
-/// Note that code here follows more standards-based coding conventions as it//
-/// is mirroring proposed interfaces for standardization.                    //
+/// Note that code here follows more standards-based coding conventions as it
+/// is mirroring proposed interfaces for standardization.
 ///
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ADT_ITERATOR_RANGE_H
 #define LLVM_ADT_ITERATOR_RANGE_H

+ 31 - 30
include/llvm/Analysis/AliasAnalysis.h

@@ -1,38 +1,39 @@
 //===- llvm/Analysis/AliasAnalysis.h - Alias Analysis Interface -*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// AliasAnalysis.h                                                           //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the generic AliasAnalysis interface, which is used as the//
-// common interface used by all clients of alias analysis information, and   //
-// implemented by all alias analysis implementations.  Mod/Ref information is//
-// also captured by this interface.                                          //
 //
-// Implementations of this interface must implement the various virtual methods,//
-// which automatically provides functionality for the entire suite of client //
-// APIs.                                                                     //
+//                     The LLVM Compiler Infrastructure
 //
-// This API identifies memory regions with the MemoryLocation class. The pointer//
-// component specifies the base memory address of the region. The Size specifies//
-// the maximum size (in address units) of the memory region, or              //
-// MemoryLocation::UnknownSize if the size is not known. The TBAA tag        //
-// identifies the "type" of the memory reference; see the                    //
-// TypeBasedAliasAnalysis class for details.                                 //
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
-// Some non-obvious details include:                                         //
-//  - Pointers that point to two completely different objects in memory never//
-//    alias, regardless of the value of the Size component.                  //
-//  - NoAlias doesn't imply inequal pointers. The most obvious example of this//
-//    is two pointers to constant memory. Even if they are equal, constant   //
-//    memory is never stored to, so there will never be any dependencies.    //
-//    In this and other situations, the pointers may be both NoAlias and     //
-//    MustAlias at the same time. The current API can only return one result,//
-//    though this is rarely a problem in practice.                           //
+//===----------------------------------------------------------------------===//
 //
-///////////////////////////////////////////////////////////////////////////////
+// This file defines the generic AliasAnalysis interface, which is used as the
+// common interface used by all clients of alias analysis information, and
+// implemented by all alias analysis implementations.  Mod/Ref information is
+// also captured by this interface.
+//
+// Implementations of this interface must implement the various virtual methods,
+// which automatically provides functionality for the entire suite of client
+// APIs.
+//
+// This API identifies memory regions with the MemoryLocation class. The pointer
+// component specifies the base memory address of the region. The Size specifies
+// the maximum size (in address units) of the memory region, or
+// MemoryLocation::UnknownSize if the size is not known. The TBAA tag
+// identifies the "type" of the memory reference; see the
+// TypeBasedAliasAnalysis class for details.
+//
+// Some non-obvious details include:
+//  - Pointers that point to two completely different objects in memory never
+//    alias, regardless of the value of the Size component.
+//  - NoAlias doesn't imply inequal pointers. The most obvious example of this
+//    is two pointers to constant memory. Even if they are equal, constant
+//    memory is never stored to, so there will never be any dependencies.
+//    In this and other situations, the pointers may be both NoAlias and
+//    MustAlias at the same time. The current API can only return one result,
+//    though this is rarely a problem in practice.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_ALIASANALYSIS_H
 #define LLVM_ANALYSIS_ALIASANALYSIS_H

+ 13 - 12
include/llvm/Analysis/AliasSetTracker.h

@@ -1,17 +1,18 @@
 //===- llvm/Analysis/AliasSetTracker.h - Build Alias Sets -------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// AliasSetTracker.h                                                         //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines two classes: AliasSetTracker and AliasSet.  These interface//
-// are used to classify a collection of pointer references into a maximal number//
-// of disjoint sets.  Each AliasSet object constructed by the AliasSetTracker//
-// object refers to memory disjoint from the other sets.                     //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines two classes: AliasSetTracker and AliasSet.  These interface
+// are used to classify a collection of pointer references into a maximal number
+// of disjoint sets.  Each AliasSet object constructed by the AliasSetTracker
+// object refers to memory disjoint from the other sets.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_ALIASSETTRACKER_H
 #define LLVM_ANALYSIS_ALIASSETTRACKER_H

+ 12 - 11
include/llvm/Analysis/AssumptionCache.h

@@ -1,16 +1,17 @@
 //===- llvm/Analysis/AssumptionCache.h - Track @llvm.assume ---*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// AssumptionCache.h                                                         //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file contains a pass that keeps track of @llvm.assume intrinsics in  //
-// the functions of a module (allowing assumptions within any function to be //
-// found cheaply by other parts of the optimizer).                           //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains a pass that keeps track of @llvm.assume intrinsics in
+// the functions of a module (allowing assumptions within any function to be
+// found cheaply by other parts of the optimizer).
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_ASSUMPTIONCACHE_H
 #define LLVM_ANALYSIS_ASSUMPTIONCACHE_H

+ 10 - 9
include/llvm/Analysis/BlockFrequencyInfo.h

@@ -1,14 +1,15 @@
 //===- BlockFrequencyInfo.h - Block Frequency Analysis ----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// BlockFrequencyInfo.h                                                      //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// Loops should be simplified before this analysis.                          //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Loops should be simplified before this analysis.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_BLOCKFREQUENCYINFO_H
 #define LLVM_ANALYSIS_BLOCKFREQUENCYINFO_H

+ 11 - 10
include/llvm/Analysis/BlockFrequencyInfoImpl.h

@@ -1,15 +1,16 @@
 //==- BlockFrequencyInfoImpl.h - Block Frequency Implementation -*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// BlockFrequencyInfoImpl.h                                                  //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// Shared implementation of BlockFrequency for IR and Machine Instructions.  //
-// See the documentation below for BlockFrequencyInfoImpl for details.       //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Shared implementation of BlockFrequency for IR and Machine Instructions.
+// See the documentation below for BlockFrequencyInfoImpl for details.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_BLOCKFREQUENCYINFOIMPL_H
 #define LLVM_ANALYSIS_BLOCKFREQUENCYINFOIMPL_H

+ 10 - 9
include/llvm/Analysis/BranchProbabilityInfo.h

@@ -1,14 +1,15 @@
 //===--- BranchProbabilityInfo.h - Branch Probability Analysis --*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// BranchProbabilityInfo.h                                                   //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This pass is used to evaluate branch probabilties.                        //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This pass is used to evaluate branch probabilties.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_BRANCHPROBABILITYINFO_H
 #define LLVM_ANALYSIS_BRANCHPROBABILITYINFO_H

+ 11 - 10
include/llvm/Analysis/CFG.h

@@ -1,15 +1,16 @@
 //===-- Analysis/CFG.h - BasicBlock Analyses --------------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// CFG.h                                                                     //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This family of functions performs analyses on basic blocks, and instructions//
-// contained within basic blocks.                                            //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This family of functions performs analyses on basic blocks, and instructions
+// contained within basic blocks.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_CFG_H
 #define LLVM_ANALYSIS_CFG_H

+ 11 - 10
include/llvm/Analysis/CFGPrinter.h

@@ -1,15 +1,16 @@
 //===-- CFGPrinter.h - CFG printer external interface -----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// CFGPrinter.h                                                              //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines external functions that can be called to explicitly     //
-// instantiate the CFG printer.                                              //
 //
-///////////////////////////////////////////////////////////////////////////////
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines external functions that can be called to explicitly
+// instantiate the CFG printer.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_CFGPRINTER_H
 #define LLVM_ANALYSIS_CFGPRINTER_H

+ 16 - 17
include/llvm/Analysis/CGSCCPassManager.h

@@ -1,23 +1,22 @@
 //===- CGSCCPassManager.h - Call graph pass management ----------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// CGSCCPassManager.h                                                        //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-/// \file                                                                    //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+/// \file
 ///
-/// This header provides classes for managing passes over SCCs of the call   //
-/// graph. These passes form an important component of LLVM's interprocedural//
-/// optimizations. Because they operate on the SCCs of the call graph, and they//
-/// wtraverse the graph in post order, they can effectively do pair-wise     //
-/// interprocedural optimizations for all call edges in the program. At each //
-/// call site edge, the callee has already been optimized as much as is      //
-/// possible. This in turn allows very accurate analysis of it for IPO.      //
+/// This header provides classes for managing passes over SCCs of the call
+/// graph. These passes form an important component of LLVM's interprocedural
+/// optimizations. Because they operate on the SCCs of the call graph, and they
+/// wtraverse the graph in post order, they can effectively do pair-wise
+/// interprocedural optimizations for all call edges in the program. At each
+/// call site edge, the callee has already been optimized as much as is
+/// possible. This in turn allows very accurate analysis of it for IPO.
 ///
-//                                                                           //
-///////////////////////////////////////////////////////////////////////////////
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_CGSCCPASSMANAGER_H
 #define LLVM_ANALYSIS_CGSCCPASSMANAGER_H

+ 40 - 40
include/llvm/Analysis/CallGraph.h

@@ -1,51 +1,51 @@
 //===- CallGraph.h - Build a Module's call graph ----------------*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// CallGraph.h                                                               //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-/// \file                                                                    //
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+/// \file
 ///
-/// This file provides interfaces used to build and manipulate a call graph, //
-/// which is a very useful tool for interprocedural optimization.            //
+/// This file provides interfaces used to build and manipulate a call graph,
+/// which is a very useful tool for interprocedural optimization.
 ///
-/// Every function in a module is represented as a node in the call graph.  The//
-/// callgraph node keeps track of which functions are called by the function //
-/// corresponding to the node.                                               //
+/// Every function in a module is represented as a node in the call graph.  The
+/// callgraph node keeps track of which functions are called by the function
+/// corresponding to the node.
 ///
-/// A call graph may contain nodes where the function that they correspond to//
-/// is null.  These 'external' nodes are used to represent control flow that is//
-/// not represented (or analyzable) in the module.  In particular, this      //
-/// analysis builds one external node such that:                             //
-///   1. All functions in the module without internal linkage will have edges//
-///      from this external node, indicating that they could be called by    //
-///      functions outside of the module.                                    //
-///   2. All functions whose address is used for something more than a direct//
-///      call, for example being stored into a memory location will also have//
-///      an edge from this external node.  Since they may be called by an    //
-///      unknown caller later, they must be tracked as such.                 //
+/// A call graph may contain nodes where the function that they correspond to
+/// is null.  These 'external' nodes are used to represent control flow that is
+/// not represented (or analyzable) in the module.  In particular, this
+/// analysis builds one external node such that:
+///   1. All functions in the module without internal linkage will have edges
+///      from this external node, indicating that they could be called by
+///      functions outside of the module.
+///   2. All functions whose address is used for something more than a direct
+///      call, for example being stored into a memory location will also have
+///      an edge from this external node.  Since they may be called by an
+///      unknown caller later, they must be tracked as such.
 ///
-/// There is a second external node added for calls that leave this module.  //
-/// Functions have a call edge to the external node iff:                     //
-///   1. The function is external, reflecting the fact that they could call  //
-///      anything without internal linkage or that has its address taken.    //
-///   2. The function contains an indirect function call.                    //
+/// There is a second external node added for calls that leave this module.
+/// Functions have a call edge to the external node iff:
+///   1. The function is external, reflecting the fact that they could call
+///      anything without internal linkage or that has its address taken.
+///   2. The function contains an indirect function call.
 ///
-/// As an extension in the future, there may be multiple nodes with a null   //
-/// function.  These will be used when we can prove (through pointer analysis)//
-/// that an indirect call site can call only a specific set of functions.    //
+/// As an extension in the future, there may be multiple nodes with a null
+/// function.  These will be used when we can prove (through pointer analysis)
+/// that an indirect call site can call only a specific set of functions.
 ///
-/// Because of these properties, the CallGraph captures a conservative superset//
-/// of all of the caller-callee relationships, which is useful for           //
-/// transformations.                                                         //
+/// Because of these properties, the CallGraph captures a conservative superset
+/// of all of the caller-callee relationships, which is useful for
+/// transformations.
 ///
-/// The CallGraph class also attempts to figure out what the root of the     //
-/// CallGraph is, which it currently does by looking for a function named    //
-/// 'main'. If no function named 'main' is found, the external node is used as//
-/// the entry node, reflecting the fact that any function without internal   //
-/// linkage could be called into (which is common for libraries).            //
+/// The CallGraph class also attempts to figure out what the root of the
+/// CallGraph is, which it currently does by looking for a function named
+/// 'main'. If no function named 'main' is found, the external node is used as
+/// the entry node, reflecting the fact that any function without internal
+/// linkage could be called into (which is common for libraries).
 ///
 //===----------------------------------------------------------------------===//
 

+ 16 - 15
include/llvm/Analysis/CallGraphSCCPass.h

@@ -1,21 +1,22 @@
 //===- CallGraphSCCPass.h - Pass that operates BU on call graph -*- C++ -*-===//
-///////////////////////////////////////////////////////////////////////////////
-//                                                                           //
-// CallGraphSCCPass.h                                                        //
-// Copyright (C) Microsoft Corporation. All rights reserved.                 //
-// Licensed under the MIT license. See COPYRIGHT in the project root for     //
-// full license information.                                                 //
-//                                                                           //
-// This file defines the CallGraphSCCPass class, which is used for passes which//
-// are implemented as bottom-up traversals on the call graph.  Because there may//
-// be cycles in the call graph, passes of this type operate on the call-graph in//
-// SCC order: that is, they process function bottom-up, except for recursive //
-// functions, which they process all at once.                                //
 //
-// These passes are inherently interprocedural, and are required to keep the //
-// call graph up-to-date if they do anything which could modify it.          //
+//                     The LLVM Compiler Infrastructure
 //
-///////////////////////////////////////////////////////////////////////////////
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the CallGraphSCCPass class, which is used for passes which
+// are implemented as bottom-up traversals on the call graph.  Because there may
+// be cycles in the call graph, passes of this type operate on the call-graph in
+// SCC order: that is, they process function bottom-up, except for recursive
+// functions, which they process all at once.
+//
+// These passes are inherently interprocedural, and are required to keep the
+// call graph up-to-date if they do anything which could modify it.
+//
+//===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_CALLGRAPHSCCPASS_H
 #define LLVM_ANALYSIS_CALLGRAPHSCCPASS_H

Some files were not shown because too many files changed in this diff