[LLVMdev] LTOModule::parseSymbols not handling GlobalAlias (original) (raw)
Shankar Easwaran shankare at codeaurora.org
Thu Oct 2 09:35:11 PDT 2014
- Previous message: [LLVMdev] LTOModule::parseSymbols not handling GlobalAlias
- Next message: [LLVMdev] LTOModule::parseSymbols not handling GlobalAlias
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi,
There is a genuine case that lto_module_get_num_symbols doesnot return all the symbols that are in the bitcode file.
Test case:-
cat > test.c << ! int bar() { return 0; } int foo() attribute ((weak, alias ("bar"))); !
clang -c test.c -emit-llvm
Use a program to list all the symbols using lto_module_get_num_symbols, and foo will be missing from the list.
Thanks
Shankar Easwaran
On 10/2/2014 11:22 AM, Sergei Larin wrote:
Hello everyone,
...I should have used a different subject line in the first place...
I've asked Rafael a question about GlobalAlias handling in LTOModule::parseSymbols, but he seems to be on vacation... Does anyone knows the answer? Thanks a lot! Sergei --- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
-----Original Message----- From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Sergei Larin Sent: Thursday, October 02, 2014 11:06 AM To: 'Rafael EspĂndola' Cc: 'LLVM Developers Mailing List' Subject: Re: [LLVMdev] [RFC] Exhaustive bitcode compatibility tests for IR features
Hi Rafael, I have a quick question for you. First of all I am not very familiar with this code, so.... Before this change: [llvm] r212349 - Implement LTOModule on top of IRObjectFile http://comments.gmane.org/gmane.comp.compilers.llvm.cvs/195450 LTOModule::parseSymbols used to explicitly add global aliases as defined symbols: // add aliases for (const auto &Alias : IRFile->aliases()) addDefinedDataSymbol(Alias); After your patch I do not seem to see an explicit handling of aliases... I would naively expect something like this: for (auto &Sym : IRFile->symbols()) { ..... if (isa(GV)) { addDefinedDataSymbol(Sym); continue; } if (isa(GV)) { addDefinedDataSymbol(Sym); continue; } } Is this an oversight or a design decision? If this is the later, when/where aliases should be handled? Thanks a lot. Sergei
--- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation
- Previous message: [LLVMdev] LTOModule::parseSymbols not handling GlobalAlias
- Next message: [LLVMdev] LTOModule::parseSymbols not handling GlobalAlias
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]