Author: hans Date: Tue Aug 25 11:25:46 2015 New Revision: 245948 URL: http://llvm.org/viewvc/llvm-project?rev=245948&view=rev Log: Deprecate the DataLayout on the TargetMachine, and backport the 3.8 API to ease transition
By Mehdi Amini. Modified: llvm/branches/release_37/docs/ReleaseNotes.rst llvm/branches/release_37/include/llvm-c/TargetMachine.h llvm/branches/release_37/include/llvm/Target/TargetMachine.h Modified: llvm/branches/release_37/docs/ReleaseNotes.rst URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_37/docs/ReleaseNotes.rst?rev=245948&r1=245947&r2=245948&view=diff ============================================================================== --- llvm/branches/release_37/docs/ReleaseNotes.rst (original) +++ llvm/branches/release_37/docs/ReleaseNotes.rst Tue Aug 25 11:25:46 2015 @@ -53,6 +53,14 @@ Non-comprehensive list of changes in thi a pointer to make it explicit. The Module owns the datalayout and it has to match the one attached to the TargetMachine for generating code. + In 3.6, a pass was inserted in the pipeline to make the DataLayout accessible: + MyPassManager->add(new DataLayoutPass(MyTargetMachine->getDataLayout())); + In 3.7, you don't need a pass, you set the DataLayout on the Module: + MyModule->setDataLayout(MyTargetMachine->createDataLayout()); + + The LLVM C API `LLVMGetTargetMachineData` is deprecated to reflect the fact + that it won't be available anymore from TargetMachine in 3.8. + * Comdats are now ortogonal to the linkage. LLVM will not create comdats for weak linkage globals and the frontends are responsible for explicitly adding them. Modified: llvm/branches/release_37/include/llvm-c/TargetMachine.h URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_37/include/llvm-c/TargetMachine.h?rev=245948&r1=245947&r2=245948&view=diff ============================================================================== --- llvm/branches/release_37/include/llvm-c/TargetMachine.h (original) +++ llvm/branches/release_37/include/llvm-c/TargetMachine.h Tue Aug 25 11:25:46 2015 @@ -115,7 +115,7 @@ char *LLVMGetTargetMachineCPU(LLVMTarget LLVMDisposeMessage. */ char *LLVMGetTargetMachineFeatureString(LLVMTargetMachineRef T); -/** Returns the llvm::DataLayout used for this llvm:TargetMachine. */ +/** Deprecated: use LLVMGetDataLayout(LLVMModuleRef M) instead. */ LLVMTargetDataRef LLVMGetTargetMachineData(LLVMTargetMachineRef T); /** Set the target machine's ASM verbosity. */ Modified: llvm/branches/release_37/include/llvm/Target/TargetMachine.h URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_37/include/llvm/Target/TargetMachine.h?rev=245948&r1=245947&r2=245948&view=diff ============================================================================== --- llvm/branches/release_37/include/llvm/Target/TargetMachine.h (original) +++ llvm/branches/release_37/include/llvm/Target/TargetMachine.h Tue Aug 25 11:25:46 2015 @@ -125,10 +125,15 @@ public: return *static_cast<const STC*>(getSubtargetImpl(F)); } + /// Deprecated in 3.7, will be removed in 3.8. Use createDataLayout() instead. + /// /// This method returns a pointer to the DataLayout for the target. It should /// be unchanging for every subtarget. const DataLayout *getDataLayout() const { return &DL; } + /// Create a DataLayout. + const DataLayout createDataLayout() const { return DL; } + /// \brief Reset the target options based on the function's attributes. // FIXME: Remove TargetOptions that affect per-function code generation // from TargetMachine. _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits