llvm-6502/include/llvm
Chandler Carruth 9156c5e3ba Teach the load analysis to allow finding available values which require
inttoptr or ptrtoint cast provided there is datalayout available.
Eventually, the datalayout can just be required but in practice it will
always be there today.

To go with the ability to expose available values requiring a ptrtoint
or inttoptr cast, helpers are added to perform one of these three casts.

These smarts are necessary to finish canonicalizing loads and stores to
the operational type requirements without regressing fundamental
combines.

I've added some test cases. These should actually improve as the load
combining and store combining improves, but they may fundamentally be
highlighting some missing combines for select in addition to exercising
the specific added logic to load analysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220277 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-21 09:00:40 +00:00
..
ADT [ADT] Add a 'find_as' operation to DenseSet. 2014-10-19 19:36:33 +00:00
Analysis AssumptionTracker: Don't create temporary CallbackVHs. 2014-10-11 19:13:01 +00:00
AsmParser Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
Bitcode Spell out the template args for compilers having issues with the injected class 2014-09-15 16:13:33 +00:00
CodeGen Make AsmPrinter::EmitLabelOffsetDifference a static helper and simplify. 2014-10-21 00:25:49 +00:00
Config Re-land r219354: Use llvm-symbolizer to symbolize LLVM/Clang crash dumps. 2014-10-10 22:06:59 +00:00
DebugInfo Constify input argument of RelocVisitor and DWARFContext constructors. NFC. 2014-10-20 20:28:51 +00:00
ExecutionEngine [MCJIT] Turn the getSymbolAddress free function created in r218626 into a static 2014-10-01 04:11:13 +00:00
IR Teach the load analysis to allow finding available values which require 2014-10-21 09:00:40 +00:00
IRReader Pass a MemoryBufferRef when we can avoid taking ownership. 2014-08-26 21:49:01 +00:00
LineEditor [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
Linker IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
LTO unique_ptrify LTOCodeGenerator::NativeObjectFile 2014-09-02 18:21:06 +00:00
MC Fix a bit of confusion about .set and produce more readable assembly. 2014-10-21 01:17:30 +00:00
Object [MCJIT] Temporarily revert r220245 - it broke several bots. 2014-10-21 00:24:02 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData InstrProf: Avoid linear search in a hot loop 2014-10-02 17:14:18 +00:00
Support [MCJIT] Temporarily revert r220245 - it broke several bots. 2014-10-21 00:24:02 +00:00
TableGen [TableGen] Fully resolve class-instance values before defs in multiclasses 2014-09-16 17:14:13 +00:00
Target Erase fence insertion from SelectionDAGBuilder.cpp (NFC) 2014-10-16 20:34:57 +00:00
Transforms fold: sqrt(x * x * y) -> fabs(x) * sqrt(y) 2014-10-16 18:48:17 +00:00
CMakeLists.txt Remove llvm_headers_do_not_build for the benefit of XCode and Visual Studio users. 2014-08-14 00:51:47 +00:00
InitializePasses.h Add a new pass FunctionTargetTransformInfo. This pass serves as a 2014-09-18 00:34:14 +00:00
LinkAllIR.h [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00
LinkAllPasses.h Make AAMDNodes ctor and operator bool (!!!) explicit, mop up bugs and weirdness exposed by it. 2014-10-04 22:44:29 +00:00
module.modulemap [modules] Stop excluding Support/Debug.h from the Support module. This header 2014-10-13 00:41:03 +00:00
module.modulemap.build [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
Pass.h Revert "[PM] Add pass run listeners to the pass manager." 2014-05-15 17:49:20 +00:00
PassAnalysisSupport.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
PassInfo.h Remove pimpl class from PassRegistry. 2014-06-12 16:06:51 +00:00
PassManager.h Move the old pass manager infrastructure into a legacy namespace and 2013-11-09 12:26:54 +00:00
PassRegistry.h [PM] Remove an unused and rather expensive mapping from an analysis 2014-10-06 00:30:59 +00:00
PassSupport.h Defining a new API for debug options that doesn't rely on static global cl::opts. 2014-10-15 21:54:35 +00:00