llvm-6502/test
Chandler Carruth b778cbc0c8 [canonicalize] Teach InstCombine to canonicalize loads which are only
ever stored to always use a legal integer type if one is available.

Regardless of whether this particular type is good or bad, it ensures we
don't get weird differences in generated code (and resulting
performance) from "equivalent" patterns that happen to end up using
a slightly different type.

After some discussion on llvmdev it seems everyone generally likes this
canonicalization. However, there may be some parts of LLVM that handle
it poorly and need to be fixed. I have at least verified that this
doesn't impede GVN and instcombine's store-to-load forwarding powers in
any obvious cases. Subtle cases are exactly what we need te flush out if
they remain.

Also note that this IR pattern should already be hitting LLVM from Clang
at least because it is exactly the IR which would be produced if you
used memcpy to copy a pointer or floating point between memory instead
of a variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226781 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-22 05:08:12 +00:00
..
Analysis Make ScalarEvolution less aggressive with respect to no-wrap flags. 2015-01-22 00:48:47 +00:00
Assembler AsmParser: Fix error location for missing fields 2015-01-19 23:32:36 +00:00
Bindings IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
Bitcode Bitcode: Don't create comdats when autoupgrading macho bitcode 2015-01-20 05:58:07 +00:00
BugPoint IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
CodeGen SEH: Finish writing the catch-all test case 2015-01-22 02:31:09 +00:00
DebugInfo DebugInfo: Use distinct inlinedAt MDLocations to avoid separate inlined calls being coalesced 2015-01-21 22:57:29 +00:00
ExecutionEngine [MCJIT] Remove a few redundant MCJIT tests, and drop the extraneous datalayout 2015-01-08 18:52:15 +00:00
Feature IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
FileCheck
Instrumentation [msan] Update origin for the entire destination range on memory store. 2015-01-21 13:21:31 +00:00
Integer
JitListener IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
Linker IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
LTO Put this test's input in the Inputs directory where it belongs, rather than 2015-01-12 08:50:47 +00:00
MC ARM: fail less catastrophically on invalid Windows input 2015-01-22 04:03:32 +00:00
Object Fix edge case when Start overflowed in 32 bit mode 2015-01-15 23:50:44 +00:00
Other [PM] Port TargetLibraryInfo to the new pass manager, provided by the 2015-01-15 11:39:46 +00:00
SymbolRewriter
TableGen
tools For llvm-objdump, hook up existing options to work when using -macho (the Mach-O parser). 2015-01-20 21:47:46 +00:00
Transforms [canonicalize] Teach InstCombine to canonicalize loads which are only 2015-01-22 05:08:12 +00:00
Unit
Verifier Rename llvm.recoverframeallocation to llvm.framerecover 2015-01-13 01:51:34 +00:00
YAMLParser
.clang-format
CMakeLists.txt Revert r224149, llvm-dsymutil was already here. 2014-12-12 21:25:07 +00:00
lit.cfg llvm/test/lit.cfg: have_ld_plugin_support(): Use decode() for stdout. 2015-01-05 14:18:04 +00:00
lit.site.cfg.in [lit] Make config.llvm_lib_dir available on cmake, too. 2014-12-30 03:24:11 +00:00
Makefile [lit] Make config.llvm_lib_dir available on cmake, too. 2014-12-30 03:24:11 +00:00
Makefile.tests
TestRunner.sh