llvm-6502/include/llvm
David Blaikie 93a23a3bd4 Recommit r235458: [opaque pointer type] Avoid using PointerType::getElementType for a few cases of CallInst
(reverted in r235533)

Original commit message:

"Calls to llvm::Value::mutateType are becoming extra-sensitive now that
instructions have extra type information that will not be derived from
operands or result type (alloca, gep, load, call/invoke, etc... ). The
special-handling for mutateType will get more complicated as this work
continues - it might be worth making mutateType virtual & pushing the
complexity down into the classes that need special handling. But with
only two significant uses of mutateType (vectorization and linking) this
seems OK for now.

Totally open to ideas/suggestions/improvements, of course.

With this, and a bunch of exceptions, we can roundtrip an indirect call
site through bitcode and IR. (a direct call site is actually trickier...
I haven't figured out how to deal with the IR deserializer's lazy
construction of Function/GlobalVariable decl's based on the type of the
entity which means looking through the "pointer to T" type referring to
the global)"

The remapping done in ValueMapper for LTO was insufficient as the types
weren't correctly mapped (though I was using the post-mapped operands,
some of those operands might not have been mapped yet so the type
wouldn't be post-mapped yet). Instead use the pre-mapped type and
explicitly map all the types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235651 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-23 21:36:23 +00:00
..
ADT Update for post-commit review comments 2015-04-15 19:36:10 +00:00
Analysis [getUnderlyingOjbects] Analyze loop PHIs further to remove false positives 2015-04-23 20:09:20 +00:00
AsmParser
Bitcode Verify sizes when trying to read a BitcodeAbbrevOp 2015-04-23 13:25:35 +00:00
CodeGen Revert "[SEH] Remove the old __C_specific_handler code now that WinEHPrepare works" 2015-04-23 18:34:01 +00:00
Config
DebugInfo Move DIContext.h to common DebugInfo location. 2015-04-23 17:37:47 +00:00
ExecutionEngine [Orc] Refactor the CompileOnDemandLayer to make its addModuleSet method 2015-04-15 18:26:24 +00:00
IR Recommit r235458: [opaque pointer type] Avoid using PointerType::getElementType for a few cases of CallInst 2015-04-23 21:36:23 +00:00
IRReader
LineEditor
Linker Linker: Add flag to override linkage rules 2015-04-22 04:11:00 +00:00
LTO [LTO API] add lto_codegen_set_should_internalize. 2015-04-17 17:10:09 +00:00
MC [patchpoint] Add support for symbolic patchpoint targets to SelectionDAG and the 2015-04-22 06:02:31 +00:00
Object
Option
Passes
ProfileData
Support [Allocator] Remove memory poisoning before deallocation 2015-04-22 20:56:42 +00:00
TableGen Cleanup formatting for consistency with surrounding code. 2015-04-22 02:09:39 +00:00
Target Remove the FCFI option from TargetOptions as it is currently unused. 2015-04-19 03:21:08 +00:00
Transforms Fix buildbot failure on darwin from r235284. 2015-04-20 07:07:10 +00:00
CMakeLists.txt
InitializePasses.h
LinkAllIR.h
LinkAllPasses.h
module.modulemap
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h
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