llvm-6502/lib
Andrea Di Biagio b2f47c6a34 Teach DAGCombiner how to fold a SIGN_EXTEND_INREG of a BUILD_VECTOR of
ConstantSDNodes (or UNDEFs) into a simple BUILD_VECTOR.

For example, given the following sequence of dag nodes:

  i32 C = Constant<1>
  v4i32 V = BUILD_VECTOR C, C, C, C
  v4i32 Result = SIGN_EXTEND_INREG V, ValueType:v4i1

The SIGN_EXTEND_INREG node can be folded into a build_vector since
the vector in input is a BUILD_VECTOR of constants.

The optimized sequence is:

  i32 C = Constant<-1>
  v4i32 Result = BUILD_VECTOR C, C, C, C



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198084 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-27 20:20:28 +00:00
..
Analysis BlockFrequencyInfo: Readded getEntryFreq. 2013-12-20 22:11:11 +00:00
AsmParser Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
Bitcode Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
CodeGen Teach DAGCombiner how to fold a SIGN_EXTEND_INREG of a BUILD_VECTOR of 2013-12-27 20:20:28 +00:00
DebugInfo
ExecutionEngine There are no __register_frame and __deregister_frame functions 2013-12-17 08:40:11 +00:00
IR DebugInfo: Remove dead code, DICompositeType::addMember(DIDescriptor D) 2013-12-27 19:11:52 +00:00
IRReader
Linker
LTO
MC clang-format a couple of mis-formatted functions 2013-12-20 20:16:51 +00:00
Object Support for microMIPS TLS relocations. 2013-12-19 16:02:32 +00:00
Option
Support Use two variables here rather than reusing (and abusing) one. This is 2013-12-27 04:44:35 +00:00
TableGen TableGen: Generate valid identifiers for anonymous records 2013-12-21 18:51:00 +00:00
Target TLI: Make exp10* avaiable on Linux/Mac/iOS and unavailable elsewhere 2013-12-26 19:17:04 +00:00
Transforms [ASan] Fix the test for __asan_gen_ globals and actually fix http://llvm.org/bugs/show_bug.cgi?id=17976 2013-12-25 16:46:27 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile