llvm-6502/include/llvm
Andrea Di Biagio d47cb57ab8 [DAG] Fix an assertion failure caused by an invalid cast in method 'BuildVectorSDNode::isConstantSplat'
This patch renames method 'isConstantSplat' as 'getConstantSplatValue'
(mainly for consistency reasons), and rewrites its logic to ensure
that we always perform a legal 'cast<ConstantSDNode>'.

Added test shift-combine-crash.ll to verify that DAGCombiner no longer crashes with an assertion failure in the attempt to simplify a vector shift by a vector of all undef counts.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204536 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-22 01:47:22 +00:00
..
ADT When destroying a StringMap, just iterate over the map and destroy the contained elements. Don't reset them back to 0 as their values aren't needed any more. This results in ~StringMap() being mostly empty for POD types in BumpPtrAllocators 2014-03-19 00:23:30 +00:00
Analysis [Constant Hoisting] Make the constant materialization cost operand dependent 2014-03-21 06:04:45 +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 Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
CodeGen [DAG] Fix an assertion failure caused by an invalid cast in method 'BuildVectorSDNode::isConstantSplat' 2014-03-22 01:47:22 +00:00
Config static link polly into tools 2014-03-14 04:04:14 +00:00
DebugInfo Revert "Clean up SmallString a bit" 2014-03-09 06:22:58 +00:00
ExecutionEngine Add an option to MCJIT to have it forward all sections to the 2014-03-20 21:06:46 +00:00
IR Expose "noduplicate" attribute as a property for intrinsics. 2014-03-18 23:51:07 +00:00
IRReader Split out the IRReader header and the utility functions it provides into 2013-03-26 02:25:37 +00:00
LineEditor Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
Linker [Layering] Sink Linker.h into a Linker subdirectory to make it 2014-03-06 03:42:23 +00:00
LTO Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
MC Mark alias symbols as microMIPS if necessary. Differential Revision: http://llvm-reviews.chandlerc.com/D3080 2014-03-20 09:44:49 +00:00
Object [RuntimeDyld] Allow processRelocationRef to process more than one relocation entry at a time. 2014-03-21 07:26:41 +00:00
Option [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 07:52:44 +00:00
ProfileData InstrProf: Move constructor to the header 2014-03-21 20:59:19 +00:00
Support Remove dead and incorrect code. 2014-03-20 17:39:04 +00:00
TableGen [C++11] Add 'override' keywords to tablegen code. 2014-03-05 05:17:42 +00:00
Target [TableGen] Optionally forbid overlap between named and positional operands 2014-03-13 07:57:54 +00:00
Transforms Remove LowerInvoke's obsolete "-enable-correct-eh-support" option 2014-03-20 19:54:47 +00:00
CMakeLists.txt The llvm_headers_do_not_build project needs to be excluded from the default build, otherwise it gets built (at least in Visual Studio 2013). 2014-01-28 16:07:10 +00:00
InitializePasses.h Pass to emit DWARF path discriminators. 2014-03-03 20:06:11 +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 Revert "Revert "Add Constant Hoisting Pass" (r200034)" 2014-01-25 02:02:55 +00:00
Pass.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
PassAnalysisSupport.h
PassManager.h Move the old pass manager infrastructure into a legacy namespace and 2013-11-09 12:26:54 +00:00
PassRegistry.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
PassSupport.h Revert "[C++11] Replace LLVM atomics with std::atomic." 2014-03-03 18:02:34 +00:00