llvm-6502/lib
Chris Lattner 80e8b506b8 rewrite the memset_pattern pattern generation stuff to accept any 2/4/8/16-byte
constant, including globals.  This makes us generate much more "pretty" pattern
globals as well because it doesn't break it down to an array of bytes all the
time.

This enables us to handle stores of relocatable globals.  This kicks in about
48 times in 254.gap, giving us stuff like this:

@.memset_pattern40 = internal constant [2 x %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)*] [%struct.TypHeader* (%struct.TypHeader*, %struct
.TypHeader*)* @IsFalse, %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)* @IsFalse], align 16

...
  call void @memset_pattern16(i8* %scevgep5859, i8* bitcast ([2 x %struct.TypHeader* (%struct.TypHeader*, %struct.TypHeader*)*]* @.memset_pattern40 to i8*
), i64 %tmp75) nounwind



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126044 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-19 19:56:44 +00:00
..
Analysis Stores of null pointers should turn into memset, we weren't recognizing 2011-02-19 19:35:49 +00:00
Archive Archive: Fix temp path names. 2011-01-17 16:43:30 +00:00
AsmParser convert ConstantVector::get to use ArrayRef. 2011-02-15 00:14:00 +00:00
Bitcode Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
CodeGen Do not emit empty DW_TAG_lexical_block DIEs. In one test case, size of debug info reduced by almost 7%. 2011-02-19 01:31:27 +00:00
CompilerDriver Support/Path: Deprecate PathV1::exists and replace all uses with PathV2::fs::exists. 2011-01-10 02:34:23 +00:00
ExecutionEngine Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
Linker Correctly merge available_externally and regular definitions when they have 2011-02-01 05:33:52 +00:00
MC Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
Object Object: Fix type punned pointer issues by making DataRefImpl a union and using intptr_t. 2011-01-21 02:27:02 +00:00
Support Provide tag strings for llvm specific tags. 2011-02-18 23:06:29 +00:00
Target Fix typos. 2011-02-19 03:19:09 +00:00
Transforms rewrite the memset_pattern pattern generation stuff to accept any 2/4/8/16-byte 2011-02-19 19:56:44 +00:00
VMCore These tags are now covered by dwarf::TagString(). 2011-02-18 23:13:40 +00:00
CMakeLists.txt Move library stuff out of the toplevel CMakeLists.txt file. 2011-02-18 22:06:14 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00