llvm-6502/include/llvm
Reid Kleckner 151f8cef74 APInt: Make self-move-assignment a no-op to fix stage3 clang-cl
It's not clear what the semantics of a self-move should be.  The
consensus appears to be that a self-move should leave the object in a
moved-from state, which is what our existing move assignment operator
does.

However, the MSVC 2013 STL will perform self-moves in some cases.  In
particular, when doing a std::stable_sort of an already sorted APSInt
vector of an appropriate size, one of the merge steps will self-move
half of the elements.

We don't notice this when building with MSVC, because MSVC will not
synthesize the move assignment operator for APSInt.  Presumably MSVC
does this because APInt, the base class, has user-declared special
members that implicitly delete move special members.  Instead, MSVC
selects the copy-assign operator, which defends against self-assignment.
Clang, on the other hand, selects the move-assign operator, and we get
garbage APInts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215478 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-12 22:01:39 +00:00
..
ADT APInt: Make self-move-assignment a no-op to fix stage3 clang-cl 2014-08-12 22:01:39 +00:00
Analysis Remove Support/IncludeFile.h and its only user. This is actively harmful, since 2014-08-07 20:41:17 +00:00
AsmParser Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Bitcode BitcodeReader: Fix some BlockAddress forward reference corner cases 2014-08-01 21:11:34 +00:00
CodeGen Have MachineRegisterInfo take and store the MachineFunction it 2014-08-12 08:00:56 +00:00
Config Regenerate autoconf, previous updates to the configury haven't 2014-07-28 22:00:44 +00:00
DebugInfo Use a reference instead of a pointer. 2014-07-31 20:19:36 +00:00
ExecutionEngine Temporarily Revert "Nuke the old JIT." as it's not quite ready to 2014-08-07 22:02:54 +00:00
IR Move helper for getting a terminating musttail call to BasicBlock 2014-08-12 00:05:15 +00:00
IRReader Make a helper function static. No functionality change. 2014-07-05 00:39:08 +00:00
LineEditor [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
Linker IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
LTO Implement LTOModule on top of IRObjectFile. 2014-07-04 18:40:36 +00:00
MC Add isRegSequence property. 2014-08-11 22:17:14 +00:00
Object Delete dead code. NFC. 2014-08-08 16:49:35 +00:00
Option Option: Propagate flags from groups to options in each group 2014-07-12 00:18:58 +00:00
ProfileData Coverage: add HasCodeBefore flag to a mapping region. 2014-08-04 18:00:51 +00:00
Support AArch64: add support for dynamic-loader relocations 2014-08-11 10:10:27 +00:00
TableGen Change BitsInit to inherit from TypedInit. 2014-08-07 05:47:04 +00:00
Target Add isRegSequence property. 2014-08-11 22:17:14 +00:00
Transforms Don't internalize all but main by default. 2014-08-05 20:10:38 +00:00
CMakeLists.txt [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
InitializePasses.h MachineCombiner Pass for selecting faster instruction 2014-08-03 21:35:39 +00:00
LinkAllIR.h [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00
LinkAllPasses.h Move -verify-use-list-order into llvm-uselistorder 2014-07-25 17:13:03 +00:00
module.modulemap [modules] Update module map workaround to cope with the problematic file having 2014-08-07 20:27:08 +00:00
module.modulemap.build [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
Pass.h Revert "[PM] Add pass run listeners to the pass manager." 2014-05-15 17:49:20 +00:00
PassAnalysisSupport.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
PassInfo.h Remove pimpl class from PassRegistry. 2014-06-12 16:06:51 +00:00
PassManager.h Move the old pass manager infrastructure into a legacy namespace and 2013-11-09 12:26:54 +00:00
PassRegistry.h Remove pimpl class from PassRegistry. 2014-06-12 16:06:51 +00:00
PassSupport.h Move GlobalMerge from Transform to CodeGen. 2014-06-13 22:57:59 +00:00