llvm/lib
Matt Arsenault e0b3c335a2 Allow DataLayout to specify addrspace for allocas.
LLVM makes several assumptions about address space 0. However,
alloca is presently constrained to always return this address space.
There's no real way to avoid using alloca, so without this
there is no way to opt out of these assumptions.

The problematic assumptions include:
- That the pointer size used for the stack is the same size as
  the code size pointer, which is also the maximum sized pointer.

- That 0 is an invalid, non-dereferencable pointer value.

These are problems for AMDGPU because alloca is used to
implement the private address space, which uses a 32-bit
index as the pointer value. Other pointers are 64-bit
and behave more like LLVM's notion of generic address
space. By changing the address space used for allocas,
we can change our generic pointer type to be LLVM's generic
pointer type which does have similar properties.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299888 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-10 22:27:50 +00:00
..
Analysis [InstSimplify] Use cast instead of dyn_cast after isa<> check. NFCI 2017-04-10 19:37:10 +00:00
AsmParser Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
Bitcode Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
CodeGen Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
DebugInfo Improves pretty printing of variable types in llvm-pdbdump 2017-04-10 16:43:09 +00:00
Demangle
ExecutionEngine [Orc] Make orcError return an error_code rather than Error. 2017-04-06 01:35:13 +00:00
Fuzzer [Fuzzer] Flush std::cout before aborting in CxxStringEqTest 2017-04-03 23:00:25 +00:00
IR Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
IRReader
LibDriver
LineEditor
Linker
LTO LTO: call getRealLinkageName on IRNames before feeding to getGUID 2017-03-31 21:56:30 +00:00
MC MC: Remove unused virtual function MCObjectWriter::isWeak. NFC. 2017-04-08 23:35:49 +00:00
Object [WASM] Remove other comparison of unsigned expression >= 0. 2017-04-01 19:47:52 +00:00
ObjectYAML Add virtual destructor to WasmYAML::Section or avoid memory leak 2017-03-31 22:14:14 +00:00
Option
Passes [PGO] Memory intrinsic calls optimization based on profiled size 2017-04-04 16:42:20 +00:00
ProfileData [PGO] Memory intrinsic calls optimization based on profiled size 2017-04-04 16:42:20 +00:00
Support Implement host CPU detection for AArch64 2017-04-04 19:06:04 +00:00
TableGen
Target Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
Transforms Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
XRay [XRay] - Fix spelling error to test commit access. 2017-04-06 03:32:01 +00:00
CMakeLists.txt
LLVMBuild.txt