1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 06:22:56 +02:00
llvm-mirror/lib/Transforms/InstCombine
Ramkumar Ramachandra af4f23c6ae InstCombine: propagate deref via new addDereferenceableAttr
The "dereferenceable" attribute cannot be added via .addAttribute(),
since it also expects a size in bytes. AttrBuilder#addAttribute or
AttributeSet#addAttribute is wrapped by classes Function, InvokeInst,
and CallInst. Add corresponding wrappers to
AttrBuilder#addDereferenceableAttr.

Having done this, propagate the dereferenceable attribute via
gc.relocate, adding a test to exercise it. Note that -datalayout is
required during execution over and above -instcombine, because
InstCombine only optionally requires DataLayoutPass.

Differential Revision: http://reviews.llvm.org/D7510

llvm-svn: 229265
2015-02-14 19:37:54 +00:00
..
CMakeLists.txt Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
InstCombineAddSub.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineAndOrXor.cpp InstCombine: Allow folding of xor into icmp by changing the predicate for vectors 2015-02-12 20:26:46 +00:00
InstCombineCalls.cpp InstCombine: propagate deref via new addDereferenceableAttr 2015-02-14 19:37:54 +00:00
InstCombineCasts.cpp [InstCombine] When canonicalizing gep indices, prefer zext when possible 2015-02-14 00:05:36 +00:00
InstCombineCompares.cpp [InstCombine] Fix a bug when combining icmp from ptrtoint 2015-02-13 04:51:26 +00:00
InstCombineInternal.h [PM] Port instcombine to the new pass manager! 2015-01-24 04:19:17 +00:00
InstCombineLoadStoreAlloca.cpp [IC] Fix a bug with the instcombine canonicalizing of loads and 2015-02-13 02:30:01 +00:00
InstCombineMulDivRem.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombinePHI.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineSelect.cpp [InstCombine] Fix regression introduced at r227197. 2015-02-13 16:33:34 +00:00
InstCombineShifts.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineSimplifyDemanded.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstCombineVectorOps.cpp [PM] Rename InstCombine.h to InstCombineInternal.h in preparation for 2015-01-22 05:25:13 +00:00
InstructionCombining.cpp Transforms: Canonicalize access to function attributes, NFC 2015-02-14 01:11:29 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
Makefile