-<li>All uses of <tt>hash_set</tt> and <tt>hash_map</tt> have been removed from
- the LLVM tree and the wrapper headers have been removed.</li>
-<li>The llvm/Streams.h and <tt>DOUT</tt> member of Debug.h have been removed. The
- <tt>llvm::Ostream</tt> class has been completely removed and replaced with
- uses of <tt>raw_ostream</tt>.</li>
-<li>LLVM's global uniquing tables for <tt>Type</tt>s and <tt>Constant</tt>s have
- been privatized into members of an <tt>LLVMContext</tt>. A number of APIs
- now take an <tt>LLVMContext</tt> as a parameter. To smooth the transition
- for clients that will only ever use a single context, the new
- <tt>getGlobalContext()</tt> API can be used to access a default global
- context which can be passed in any and all cases where a context is
- required.
-<li>The <tt>getABITypeSize</tt> methods are now called <tt>getAllocSize</tt>.</li>
-<li>The <tt>Add</tt>, <tt>Sub</tt> and <tt>Mul</tt> operators are no longer
- overloaded for floating-point types. Floating-point addition, subtraction
- and multiplication are now represented with new operators <tt>FAdd</tt>,
- <tt>FSub</tt> and <tt>FMul</tt>. In the <tt>IRBuilder</tt> API,
- <tt>CreateAdd</tt>, <tt>CreateSub</tt>, <tt>CreateMul</tt> and
- <tt>CreateNeg</tt> should only be used for integer arithmetic now;
- <tt>CreateFAdd</tt>, <tt>CreateFSub</tt>, <tt>CreateFMul</tt> and
- <tt>CreateFNeg</tt> should now be used for floating-point arithmetic.</li>
-<li>The <tt>DynamicLibrary</tt> class can no longer be constructed, its functionality has
- moved to static member functions.</li>
-<li><tt>raw_fd_ostream</tt>'s constructor for opening a given filename now
- takes an extra <tt>Force</tt> argument. If <tt>Force</tt> is set to
- <tt>false</tt>, an error will be reported if a file with the given name
- already exists. If <tt>Force</tt> is set to <tt>true</tt>, the file will
- be silently truncated (which is the behavior before this flag was
- added).</li>
-<li><tt>SCEVHandle</tt> no longer exists, because reference counting is no
- longer done for <tt>SCEV*</tt> objects, instead <tt>const SCEV*</tt>
- should be used.</li>
-
-<li>Many APIs, notably <tt>llvm::Value</tt>, now use the <tt>StringRef</tt>
-and <tt>Twine</tt> classes instead of passing <tt>const char*</tt>
-or <tt>std::string</tt>, as described in
-the <a href="ProgrammersManual.html#string_apis">Programmer's Manual</a>. Most
-clients should be unaffected by this transition, unless they are used to
-<tt>Value::getName()</tt> returning a string. Here are some tips on updating to
-2.6:
- <ul>
- <li><tt>getNameStr()</tt> is still available, and matches the old
- behavior. Replacing <tt>getName()</tt> calls with this is an safe option,
- although more efficient alternatives are now possible.</li>
-
- <li>If you were just relying on <tt>getName()</tt> being able to be sent to
- a <tt>std::ostream</tt>, consider migrating
- to <tt>llvm::raw_ostream</tt>.</li>
-
- <li>If you were using <tt>getName().c_str()</tt> to get a <tt>const
- char*</tt> pointer to the name, you can use <tt>getName().data()</tt>.
- Note that this string (as before), may not be the entire name if the
- name contains embedded null characters.</li>
-
- <li>If you were using <tt>operator +</tt> on the result of <tt>getName()</tt> and
- treating the result as an <tt>std::string</tt>, you can either
- use <tt>Twine::str</tt> to get the result as an <tt>std::string</tt>, or
- could move to a <tt>Twine</tt> based design.</li>
-
- <li><tt>isName()</tt> should be replaced with comparison
- against <tt>getName()</tt> (this is now efficient).
- </ul>
-</li>