Displaying 12 results from an estimated 12 matches for "namedstructtypes".
2011 Jul 25
4
[LLVMdev] Lack of use of LLVMContextImpl::NamedStructTypes
...ues with the linker regarding a
named StructType instance with the same name in two different modules
being resolved into two StructTypes with different names due to StructType::
setName(…) collision behavior. Looking at BitcodeReader::ParseTypeTableBody(…),
I don't see use of LLVMContextImpl::NamedStructTypes or of Module::getTypeByName(…).
Nor do I see this use anywhere else in BitcodeReader's implementation (.cpp file).
Doesn't the context's NamedStructTypes (checking for a previously created StructType
with the same name), have to be used before setName(…) is called so that a new struct...
2011 Jul 26
0
[LLVMdev] Lack of use of LLVMContextImpl::NamedStructTypes
...regarding a
> named StructType instance with the same name in two different modules
> being resolved into two StructTypes with different names due to StructType::
> setName(…) collision behavior. Looking at BitcodeReader::ParseTypeTableBody(…),
> I don't see use of LLVMContextImpl::NamedStructTypes or of Module::getTypeByName(…).
> Nor do I see this use anywhere else in BitcodeReader's implementation (.cpp file).
>
> Doesn't the context's NamedStructTypes (checking for a previously created StructType
> with the same name), have to be used before setName(…) is called...
2011 Jul 25
0
[LLVMdev] Lack of use of LLVMContextImpl::NamedStructTypes
...regarding a
> named StructType instance with the same name in two different modules
> being resolved into two StructTypes with different names due to StructType::
> setName(…) collision behavior. Looking at BitcodeReader::ParseTypeTableBody(…),
> I don't see use of LLVMContextImpl::NamedStructTypes or of Module::getTypeByName(…).
> Nor do I see this use anywhere else in BitcodeReader's implementation (.cpp file).
The BitcodeReader has nothing to do with the issue in question; the
relevant code is in lib/Linker.
-Eli
2011 Jul 26
2
[LLVMdev] Lack of use of LLVMContextImpl::NamedStructTypes
...;> named StructType instance with the same name in two different modules
>> being resolved into two StructTypes with different names due to StructType::
>> setName(…) collision behavior. Looking at BitcodeReader::ParseTypeTableBody(…),
>> I don't see use of LLVMContextImpl::NamedStructTypes or of Module::getTypeByName(…).
>> Nor do I see this use anywhere else in BitcodeReader's implementation (.cpp file).
>>
>> Doesn't the context's NamedStructTypes (checking for a previously created StructType
>> with the same name), have to be used before setNa...
2013 Dec 17
0
[LLVMdev] llvmContext::removeModule doesn't remove NamedStructTypes
...mp;ErrMsg));
module->dump();
}
}
with smart pointer, the 1st module will be deleted and call removeModule
for the context. The implementation of removeModule is quite simple. It
just removes the PtrSet.
pImpl->OwnedModules.erase(M);
It doesn't touch LLVMContextImpl's NamedStructTypes. As a result,
'struct.cmd' is still in the symbol table even the module has destroyed.
In second ParseBitCodeFile, StructType::setName will introduce struct.cmd0
due to conflict.
should we do thorough cleanup for the method removeModule? or why does llvm
retain NamedStructTypes?
thanks,...
2011 Jul 27
0
[LLVMdev] Lack of use of LLVMContextImpl::NamedStructTypes
...@G = external global %A*
...and...
%A = type { i32 }
@G = global %A* null
should merge the two %a's, because that is implied by linking @G and there is no structural conflict.
> On the other hand when hand coding two
> modules using in memory IR, I have a choice in either checking with NamedStructTypes to to force
> two equivalently named struct types to resolve to the same struct type with the same name, or
> ignoring the issue, and just have each module create two different struct types (via StructType
> name collision behavior), with different names but with the same definition. Does...
2015 Jun 02
2
[LLVMdev] struct type parament
...pStr(Name);
> TempStr.push_back('.');
> raw_svector_ostream TmpStream(TempStr);
> unsigned NameSize = Name.size();
>
> do {
> TempStr.resize(NameSize + 1);
> TmpStream.resync();
> TmpStream << getContext().pImpl->NamedStructTypesUniqueID++;
>
> Entry = &getContext().pImpl->
> NamedStructTypes.GetOrCreateValue(TmpStream.str());
> } while (Entry->getValue());
> }
>
>
> —
> Mehdi
>
>> On Jun 2, 2015, at 11:23 AM, Haopeng Liu <hyliuhp at g...
2013 Oct 18
1
[LLVMdev] Iterate through a Module's StructTypes
Hello,
I'm updating a legacy code using LLVM 2.5 where it has an iteration through
a Module's TypeSymbolTable to process each StructType.
In LLVM 3.4, TypeSymbolTable has been removed. I can only find the
LLVMContextImpl instance of a Module's LLVMContext which has
AnonStructTypes and NamedStructTypes two maps. However, LLVMContextImpl is
an opaque class which cannot be directly accessed by my code(a subclass of
ModulePass).
So how can I iterate all the Types in a Module? Thanks.
Regards,
Thomas Yang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lis...
2015 Jun 02
2
[LLVMdev] struct type parament
Hi All,
I generated the following code with "clang -flto" command.
void test(struct StruTyName *a) {
...
}
Then the type of test function is "void (%struct.StruTyName.100*)" by
calling function::getFunctionType API.
What's the meaning of number 100?
Best,
Haopeng
2015 Jun 02
2
[LLVMdev] struct type parament
...39;.');
>>> raw_svector_ostream TmpStream(TempStr);
>>> unsigned NameSize = Name.size();
>>> do {
>>> TempStr.resize(NameSize + 1);
>>> TmpStream.resync();
>>> TmpStream << getContext().pImpl->NamedStructTypesUniqueID++;
>>> Entry = &getContext().pImpl->
>>> NamedStructTypes.GetOrCreateValue(TmpStream.str());
>>> } while (Entry->getValue());
>>> }
>>>
>>>
>>> —
>>> Mehdi
>>>...
2013 Oct 18
0
[LLVMdev] Iterate through a Module's StructTypes
Hello,
I'm updating a legacy code using LLVM 2.5 where it has an iteration through
a Module's TypeSymbolTable to process each StructType.
In LLVM 3.4, TypeSymbolTable has been removed. I can only find the
LLVMContextImpl instance of a Module's LLVMContext which has
AnonStructTypes and NamedStructTypes two maps. However, LLVMContextImpl is
an opaque class which cannot be directly accessed by my code(a subclass of
ModulePass).
So how can I iterate all the Types in a Module? Thanks.
Regards,
Thomas Yang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lis...
2012 Oct 16
3
[LLVMdev] Find template types of std::map
...e, for
instance, I think that the ordering of instantiation I'm making use of
may change.
2. I'm unable to retrieve all defined named types from the module. I
know there is LLVMContextImpl but this class is a forward declaration
and therefore I'm not able to access LLVMContextImpl::NamedStructTypes.
Thanks for any suggestions.
Best regards,
Sebastian
--
Mit freundlichen Grüßen / Kind regards
Sebastian Dreßler
Zuse Institute Berlin (ZIB)
Takustraße 7
D-14195 Berlin-Dahlem
Germany
dressler at zib.de
Phone: +49 30 84185-261
http://www.zib.de/