1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/lib
Chris Lattner cc2fa12fac 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

llvm-svn: 126044
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