llvm-6502/include/llvm
Hal Finkel a739834446 Allow isDereferenceablePointer to look through some bitcasts
isDereferenceablePointer should not give up upon encountering any bitcast. If
we're casting from a pointer to a larger type to a pointer to a small type, we
can continue by examining the bitcast's operand. This missing capability
was noted in a comment in the function.

In order for this to work, isDereferenceablePointer now takes an optional
DataLayout pointer (essentially all callers already had such a pointer
available). Most code uses isDereferenceablePointer though
isSafeToSpeculativelyExecute (which already took an optional DataLayout
pointer), and to enable the LICM test case, LICM needs to actually provide its DL
pointer to isSafeToSpeculativelyExecute (which it was not doing previously).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212686 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-10 05:27:53 +00:00
..
ADT Add Imagination Technologies to the vendors in llvm::Triple 2014-07-09 16:03:10 +00:00
Analysis Improve BasicAA CS-CS queries 2014-07-08 23:16:49 +00:00
AsmParser
Bitcode Revert "Convert a few std::strings to StringRef." 2014-07-04 20:02:42 +00:00
CodeGen [x86] Add a ZERO_EXTEND_VECTOR_INREG DAG node and use it when widening 2014-07-09 10:58:18 +00:00
Config config.h: remove clang-specific macro definitions 2014-06-06 04:50:41 +00:00
DebugInfo [DWARF parser] Teach DIContext to fetch short (non-linkage) function names for a given address. 2014-05-17 00:07:48 +00:00
ExecutionEngine [RuntimeDyld] Add a framework for testing relocation logic in RuntimeDyld. 2014-06-27 20:20:57 +00:00
IR Allow isDereferenceablePointer to look through some bitcasts 2014-07-10 05:27:53 +00:00
IRReader Make a helper function static. No functionality change. 2014-07-05 00:39:08 +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 Implement LTOModule on top of IRObjectFile. 2014-07-04 18:40:36 +00:00
MC MC: add and use an accessor for WinCFI 2014-07-10 04:50:06 +00:00
Object Fix the MSVC build following r212382 2014-07-06 10:54:41 +00:00
Option Use simpler constructor for range adapter. 2014-07-09 19:14:34 +00:00
ProfileData ProfileData: Fix copy-paste type in RawInstrProfReader 2014-06-18 18:20:44 +00:00
Support Decouple llvm::SpecialCaseList text representation and its LLVM IR semantics. 2014-07-09 19:40:08 +00:00
TableGen Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
Target TargetRegisterInfo: Remove function that fell out of use years ago. 2014-07-09 18:53:57 +00:00
Transforms Decouple llvm::SpecialCaseList text representation and its LLVM IR semantics. 2014-07-09 19:40:08 +00:00
CMakeLists.txt [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
InitializePasses.h Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. 2014-06-05 19:29:43 +00:00
LinkAllIR.h
LinkAllPasses.h Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. 2014-06-05 19:29:43 +00:00
module.modulemap [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +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
PassRegistry.h Remove pimpl class from PassRegistry. 2014-06-12 16:06:51 +00:00
PassSupport.h Move GlobalMerge from Transform to CodeGen. 2014-06-13 22:57:59 +00:00