[PATCH] D36916: Add default address space for functions to the data layout

Dylan McKay via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 18 20:50:39 PDT 2017


dylanmckay created this revision.
Herald added subscribers: eraman, nhaehnle, wdng, sdardis, mzolotukhin, mehdi_amini, sanjoy.

I am popping this up on Phabricator for early feedback.

**NOTE*: I will submit this in several smaller patches once this is actually ready.

This adds initial support for letting targets specify which address
spaces their functions should reside in by default.

This is the first step towards placing functions into the correct
address space for Harvard architectures.

Require address space to be specified when creating functions


https://reviews.llvm.org/D36916

Files:
  docs/BitCodeFormat.rst
  docs/LangRef.rst
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/IR/DataLayout.h
  include/llvm/IR/DerivedTypes.h
  include/llvm/IR/Function.h
  include/llvm/IR/GlobalValue.h
  include/llvm/IR/Module.h
  include/llvm/IR/Type.h
  include/llvm/IR/TypeBuilder.h
  lib/AsmParser/LLParser.cpp
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/CodeGen/AtomicExpandPass.cpp
  lib/CodeGen/IntrinsicLowering.cpp
  lib/CodeGen/MIRParser/MIRParser.cpp
  lib/IR/AsmWriter.cpp
  lib/IR/AutoUpgrade.cpp
  lib/IR/Core.cpp
  lib/IR/DataLayout.cpp
  lib/IR/Function.cpp
  lib/IR/Globals.cpp
  lib/IR/Type.cpp
  lib/IR/Verifier.cpp
  lib/Linker/IRMover.cpp
  lib/Target/AMDGPU/AMDGPULibFunc.cpp
  lib/Target/AMDGPU/AMDGPUOpenCLImageTypeLoweringPass.cpp
  lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
  lib/Target/AVR/AVRTargetMachine.cpp
  lib/Target/Mips/Mips16HardFloat.cpp
  lib/Target/X86/X86WinEHState.cpp
  lib/Transforms/IPO/ArgumentPromotion.cpp
  lib/Transforms/IPO/DeadArgumentElimination.cpp
  lib/Transforms/IPO/LowerTypeTests.cpp
  lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  lib/Transforms/InstCombine/InstCombineCalls.cpp
  lib/Transforms/Instrumentation/AddressSanitizer.cpp
  lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
  lib/Transforms/Instrumentation/EfficiencySanitizer.cpp
  lib/Transforms/Instrumentation/GCOVProfiling.cpp
  lib/Transforms/Instrumentation/InstrProfiling.cpp
  lib/Transforms/Instrumentation/MemorySanitizer.cpp
  lib/Transforms/Instrumentation/SanitizerCoverage.cpp
  lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
  lib/Transforms/ObjCARC/ObjCARCContract.cpp
  lib/Transforms/Scalar/PlaceSafepoints.cpp
  lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  lib/Transforms/Utils/CloneFunction.cpp
  lib/Transforms/Utils/CodeExtractor.cpp
  lib/Transforms/Utils/EscapeEnumerator.cpp
  lib/Transforms/Utils/ModuleUtils.cpp
  lib/Transforms/Utils/SanitizerStats.cpp
  lib/Transforms/Utils/ValueMapper.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Bitcode/function-nonzero-address-spaces.bc
  test/Bitcode/function-nonzero-address-spaces.ll
  unittests/Analysis/AliasAnalysisTest.cpp
  unittests/Analysis/ScalarEvolutionTest.cpp
  unittests/Analysis/TBAATest.cpp
  unittests/Analysis/TargetLibraryInfoTest.cpp
  unittests/IR/FunctionTest.cpp
  unittests/IR/IRBuilderTest.cpp
  unittests/IR/InstructionsTest.cpp
  unittests/IR/LegacyPassManagerTest.cpp
  unittests/IR/MetadataTest.cpp
  unittests/IR/PatternMatch.cpp
  unittests/IR/TypeBuilderTest.cpp
  unittests/IR/UserTest.cpp
  unittests/IR/VerifierTest.cpp
  unittests/IR/WaymarkTest.cpp
  unittests/ProfileData/InstrProfTest.cpp
  unittests/Transforms/Utils/Cloning.cpp
  unittests/Transforms/Utils/IntegerDivision.cpp
  unittests/Transforms/Utils/Local.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36916.111793.patch
Type: text/x-patch
Size: 107403 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170819/5dd682f4/attachment-0001.bin>


More information about the llvm-commits mailing list