llvm-6502/lib/Transforms/InstCombine
Mehdi Amini 4d5e059cdb Update InstCombine to transform aggregate loads into scalar loads.
Summary:
One step further getting aggregate loads and store being optimized
properly. This will only handle struct with one element at this point.

Test Plan: Added unit tests for the new supported cases.

Reviewers: chandlerc, joker-eph, joker.eph, majnemer

Reviewed By: majnemer

Subscribers: pete, llvm-commits

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

Patch by Amaury Sechet.

From: Amaury Sechet <amaury@fb.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236695 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-07 05:52:40 +00:00
..
CMakeLists.txt
InstCombineAddSub.cpp InstCombine: Move Sub->Xor rule from SimplifyDemanded to InstCombine 2015-04-30 22:04:26 +00:00
InstCombineAndOrXor.cpp
InstCombineCalls.cpp Change typeIncompatible to return an AttrBuilder instead of new-ing an AttributeSet. 2015-05-06 23:19:56 +00:00
InstCombineCasts.cpp
InstCombineCompares.cpp
InstCombineInternal.h
InstCombineLoadStoreAlloca.cpp Update InstCombine to transform aggregate loads into scalar loads. 2015-05-07 05:52:40 +00:00
InstCombineMulDivRem.cpp
InstCombinePHI.cpp
InstCombineSelect.cpp [InstCombine] Add new rule for MIN(MAX(~A, ~B), ~C) et. al. 2015-04-30 04:56:04 +00:00
InstCombineShifts.cpp
InstCombineSimplifyDemanded.cpp InstCombineSimplifyDemanded: Remove nsw/nuw flags when optimizing demanded bits 2015-04-30 22:05:30 +00:00
InstCombineVectorOps.cpp
InstructionCombining.cpp [opaque pointer type] Track explicit GEP pointee type through in-memory IR 2015-05-05 18:03:48 +00:00
LLVMBuild.txt
Makefile