You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
…_VARIABLE (llvm#1578)
Handle dynamic optional argument in GET_COMMAND_ARGUMENT and GET_ENVIRONMENT_VARIABLE (previously compiled but caused segfaults).
Simplify the runtime call lowering to simply lower the runtime call without dealing with optionality there. This keeps the optional handling logic in IntrinsicCall.cpp.
Note that the new code will generate some extra "if (not null addr )/then/else" when the actual arguments are always there at runtime. That makes the implementation a lot simpler/safer, and I think it is OK for now (I do not expect these runtime function to be called in hot loop nests, besides).
Extended Description
I'm using the LLVM 1.9 API. I have an LLVM IR file (in ASCII) that contains
the following header:
; ModuleID = 'hello.c'
target datalayout = "e-p:32:32"
target endian = little
target pointersize = 32
target triple = "i686-pc-linux-gnu"
I then have some code that reads in the IR file and queries for the data layout:
llvm::Module* mod = llvm::ParseAssemblyFile("file.ll");
std::string layout = llvm::Module::getDataLayout();
std::cout << layout;
The value I get back from getDataLayout() is "e-p:32:32-e-p:32:32". I think it
should return "e-p:32:32" instead.
The text was updated successfully, but these errors were encountered: