llvm-6502/lib
Jingyue Wu ee36276e53 Add NVPTXLowerAlloca pass to convert alloca'ed memory to local address
Summary:
This is done by first adding two additional instructions to convert the
alloca returned address to local and convert it back to generic. Then
replace all uses of alloca instruction with the converted generic
address. Then we can rely NVPTXFavorNonGenericAddrSpace pass to combine
the generic addresscast and the corresponding Load, Store, Bitcast, GEP
Instruction together.

Patched by Xuetian Weng (xweng@google.com). 

Test Plan: test/CodeGen/NVPTX/lower-alloca.ll

Reviewers: jholewinski, jingyue

Reviewed By: jingyue

Subscribers: meheff, broune, eliben, jholewinski, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239964 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-17 22:31:02 +00:00
..
Analysis Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
AsmParser Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
Bitcode [Bitcode] Replace hand-coded little endian handling with Endian.h functions. 2015-06-17 20:55:30 +00:00
CodeGen remove unnecessary casts; NFC 2015-06-17 20:54:46 +00:00
DebugInfo [DWARF] Fix a bug in line info handling 2015-05-31 23:37:04 +00:00
ExecutionEngine modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
Fuzzer [lib/Fuzzer] make assertions more informative and update comments for the user-supplied mutator 2015-05-30 17:33:13 +00:00
IR Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LibDriver Bring in a BumpPtrStringSaver from lld and simplify the interface. 2015-06-13 12:49:52 +00:00
LineEditor
Linker Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
LTO Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
MC Devirtualize and pack MCFragment to reduce memory usage. 2015-06-17 22:01:28 +00:00
Object [ArchiveWriter] Use EndianStream. No functional change intended. 2015-06-17 16:02:56 +00:00
Option Option parsing: properly handle flag aliases for joined options (PR23394) 2015-05-04 18:00:13 +00:00
Passes [PM] Fixup for r231556 where I missed a dependency on intrinsics 2015-03-07 09:08:20 +00:00
ProfileData modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
Support Use std::unique_ptr to manage the DataStreamer in bitcode parsing. 2015-06-16 23:29:49 +00:00
TableGen [TableGen] Change OpInit::getNumOperands and getOperand to use unsigned integers. NFC 2015-06-06 01:34:04 +00:00
Target Add NVPTXLowerAlloca pass to convert alloca'ed memory to local address 2015-06-17 22:31:02 +00:00
Transforms Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00