[llvm-dev] Can't find symbol from llvm backend
n3v3rm03 via llvm-dev
llvm-dev at lists.llvm.org
Fri Jan 18 23:02:20 PST 2019
No, I don't. But I’m sure it is not optimized because I can see this
variable in the final binary file emitted.
Do you mean if I don’t refer to this variable in the front end, then I
can’t see it in the backend? (although it’s in the final binary file)
Thank you!
On Sat, Jan 19, 2019 at 3:52 PM n3v3rm03 <n3v3rm03 at gmail.com> wrote:
> No, I don't. But I’m sure it is not optimized because I can see this
> variable in the final binary file emitted.
>
> Do you mean if I don’t refer to this variable in the front end, then I
> can’t see it in the backend? (although it’s in the final binary file)
>
> Thank you!
> 2019年1月19日(土) 2:00 <paul.robinson at sony.com>:
>
>> Do you have a use of the new variable as well? If not, it might be
>> optimized out between the point where you create it and your
>> MachineFunction pass.
>>
>> --paulr
>>
>>
>>
>> *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf Of *n3v3rm03
>> via llvm-dev
>> *Sent:* Friday, January 18, 2019 5:57 AM
>> *To:* llvm-dev at lists.llvm.org
>> *Subject:* [llvm-dev] Can't find symbol from llvm backend
>>
>>
>>
>> Hi, I am new to llvm.
>>
>> I create a global variable called "test_llvm_var" in the front end
>> function pass like this:
>>
>>
>>
>> new GlobalVariable(*m, tmp->getType(), true,
>> llvm::GlobalValue::ExternalLinkage, tmp, "test_llvm_var");
>>
>>
>>
>> where tmp is a function.
>>
>>
>>
>> Then I tried to access this global variable in the back end
>> MachineFunctionPass like this:
>>
>>
>>
>> MCContext& MCC = MF.getContext();
>> MCSymbol* MCS = MCC.lookupSymbol("test_llvm_var");
>> if (MCS == NULL) {
>> errs() << ">>> MCSymbol is null\n";
>> }
>> else {
>> MCS->dump();
>> }
>>
>>
>>
>> (MF is a MachineFunction).
>>
>>
>>
>> However I always get MCS==NULL, there is no symbol called test_llvm_var
>> in the backend.
>>
>>
>>
>> Am I doing something wrong? What I would like to do is to modify the
>> global variable's value from the backend pass.
>>
>>
>>
>> Any help would be appreciated.
>>
>> Thank you!
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190119/fd29b51a/attachment.html>
More information about the llvm-dev
mailing list