[llvm] r242414 - Make ExecutionEngine owning a DataLayout
Mehdi Amini
mehdi.amini at apple.com
Thu Jul 16 15:23:58 PDT 2015
> On Jul 16, 2015, at 3:08 PM, Laurent Carlier <lordheavym at gmail.com> wrote:
>
> Le jeudi 16 juillet 2015, 16:34:23 Mehdi Amini a écrit :
>> Author: mehdi_amini
>> Date: Thu Jul 16 11:34:23 2015
>> New Revision: 242414
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=242414&view=rev
>> Log:
>> Make ExecutionEngine owning a DataLayout
>>
>> Summary:
>> This change is part of a series of commits dedicated to have a single
>> DataLayout during compilation by using always the one owned by the
>> module.
>>
>> The ExecutionEngine will act as an exception and will be unsafe to
>> be reused across context. We don't enforce this rule but undefined
>> behavior can occurs if the user tries to do it.
>>
>> Reviewers: lhames
>>
>> Subscribers: echristo, llvm-commits, rafael, yaron.keren
>>
>> Differential Revision: http://reviews.llvm.org/D11110
>>
>> From: Mehdi Amini <mehdi.amini at apple.com>
>>
>
> llvm fail to build since this revision with:
Apologize, I don’t have ffi to reproduce locally.
Tentatively fixed in r242456
—
Mehdi
> CC=gcc CXX=g++ \
> ../llvm/configure \
> --prefix=/usr \
> --sysconfdir=/etc \
> --enable-shared \
> --enable-libffi \
> --enable-targets=all \
> --disable-assertions \
> --with-python=/usr/bin/python2 \
> --enable-optimized
>
> make REQUIRES_RTTI=1 ENABLE_PIC=1
>
> result:
> make[2]: Entering directory '/build/llvm-svn/src/build/lib/ExecutionEngine'
> llvm[2]: Compiling BranchFolding.cpp for Release build
> make[3]: Entering directory '/build/llvm-
> svn/src/build/lib/ExecutionEngine/Interpreter'
> llvm[3]: Compiling Execution.cpp for Release build
> llvm[3]: Compiling MergedLoadStoreMotion.cpp for Release build
> llvm[3]: Compiling NaryReassociate.cpp for Release build
> llvm[2]: Compiling CalcSpillWeights.cpp for Release build
> llvm[3]: Compiling ExternalFunctions.cpp for Release build
> llvm[3]: Compiling X86FixupLEAs.cpp for Release build
> llvm[3]: Compiling PartiallyInlineLibCalls.cpp for Release build
> llvm[2]: Compiling CallingConvLower.cpp for Release build
> /build/llvm-
> svn/src/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp: In
> function 'bool ffiInvoke(RawFunc, llvm::Function*,
> llvm::ArrayRef<llvm::GenericValue>, const llvm::DataLayout&,
> llvm::GenericValue&)':
> /build/llvm-
> svn/src/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp:201:19:
> error: base operand of '->' has non-pointer type 'const llvm::DataLayout'
> ArgBytes += TD->getTypeStoreSize(ArgTy);
> ^
> /build/llvm-
> svn/src/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp:213:21:
> error: base operand of '->' has non-pointer type 'const llvm::DataLayout'
> ArgDataPtr += TD->getTypeStoreSize(ArgTy);
> ^
> /build/llvm-
> svn/src/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp:222:20:
> error: base operand of '->' has non-pointer type 'const llvm::DataLayout'
> ret.resize(TD->getTypeStoreSize(RetTy));
> ^
> /usr/bin/rm: cannot remove '/build/llvm-
> svn/src/build/lib/ExecutionEngine/Interpreter/Release/ExternalFunctions.d.tmp':
> No such file or directory
> /build/llvm-svn/src/llvm/Makefile.rules:1521: recipe for target '/build/llvm-
> svn/src/build/lib/ExecutionEngine/Interpreter/Release/ExternalFunctions.o'
> failed
> make[3]: *** [/build/llvm-
> svn/src/build/lib/ExecutionEngine/Interpreter/Release/ExternalFunctions.o]
> Error 1
> make[3]: Leaving directory '/build/llvm-
> svn/src/build/lib/ExecutionEngine/Interpreter'
> /build/llvm-svn/src/llvm/Makefile.rules:939: recipe for target
> 'Interpreter/.makeall' failed
> make[2]: *** [Interpreter/.makeall] Error 2
> make[2]: Leaving directory '/build/llvm-svn/src/build/lib/ExecutionEngine'
> /build/llvm-svn/src/llvm/Makefile.rules:939: recipe for target
> 'ExecutionEngine/.makeall' failed
> make[1]: *** [ExecutionEngine/.makeall] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
>
> --
> Laurent Carlier
> http://www.archlinux.org
More information about the llvm-commits
mailing list