Displaying 20 results from an estimated 31 matches for "intrusiverefcntptr".
2015 Mar 15
4
[LLVMdev] FreeBSD's 11.0-CURRENT contrib/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h's IntrusiveRefCntPtr and its use violates C++ privacy rules
...reting them I figured an open discussion area might be the better place to go until/unless someone from llvm agrees with the information. I'm not sure what priority being non-standard has for points other compilers have trouble with for the code.
I have looked on the web and Revision 232289 of IntrusiveRefCntPtr.h still has the same code structure for the issue.
The problem...
FreeBSD 11.0-CURRENT's contrib/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h has...
template <typename T>
class IntrusiveRefCntPtr {
T* Obj;
public:
...
template <class X>
IntrusiveRefCntPtr(Intr...
2016 Oct 19
3
IntrusiveRefCntPtr vs std::shared_ptr
why llvm contains IntrusiveRefCntPtr instead of using only std::shared_ptr? IntrusiveRefCntPtr widely used in llvm and clang source code.
Due to better performance?
for example in main func of clang frontend:
int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
ensureSufficientStack();
std::uniq...
2016 Oct 19
4
IntrusiveRefCntPtr vs std::shared_ptr
On Wed, Oct 19, 2016 at 6:24 PM, Benjamin Kramer via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> In terms of performance shared_ptr has a number of disadvantages. One
> is that it always uses atomics even though most IntrusiveRefCntPtrs
> are used in single-threaded contexts. Another is weak_ptr adding a lot
> of complexity to the implementation, IntrusiveRefCntPtr doesn't
> support weak references.
>
> With that it's hard to make a case for changing uses of
> IntrusiveRefCntPtr as it's a non-trivial...
2016 Oct 19
2
IntrusiveRefCntPtr vs std::shared_ptr
...llvm-dev at lists.llvm.org> wrote:
>
> On Wed, Oct 19, 2016 at 6:24 PM, Benjamin Kramer via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> In terms of performance shared_ptr has a number of disadvantages. One
>> is that it always uses atomics even though most IntrusiveRefCntPtrs
>> are used in single-threaded contexts. Another is weak_ptr adding a lot
>> of complexity to the implementation, IntrusiveRefCntPtr doesn't
>> support weak references.
>>
>> With that it's hard to make a case for changing uses of
>> IntrusiveRefCntPtr a...
2020 Oct 01
2
OrcV1 removal
...std::make_unique<llvm::orc::BasicIRLayerMaterializationUnit, llvm::orc::IRLayer&, llvm::orc::IRSymbolMapper::ManglingOptions const&, llvm::orc::ThreadSafeModule>(llvm::orc::IRLayer&, llvm::o>
| | | ->03.53% (97,542B) 0x83B1C7D: llvm::orc::IRLayer::add(llvm::IntrusiveRefCntPtr<llvm::orc::ResourceTracker>, llvm::orc::ThreadSafeModule) (Layer.cpp:28)
| | | ->03.53% (97,542B) 0x83BCBF5: llvm::orc::LLJIT::addIRModule(llvm::orc::JITDylib&, llvm::orc::ThreadSafeModule, llvm::IntrusiveRefCntPtr<llvm::orc::ResourceTracker>) (LLJIT.cpp:990)...
2020 Oct 02
2
OrcV1 removal
...IRLayerMaterializationUnit,
>> llvm::orc::IRLayer&, llvm::orc::IRSymbolMapper::ManglingOptions const&,
>> llvm::orc::ThreadSafeModule>(llvm::orc::IRLayer&, llvm::o>
>> | | | ->03.53% (97,542B) 0x83B1C7D:
>> llvm::orc::IRLayer::add(llvm::IntrusiveRefCntPtr<llvm::orc::ResourceTracker>,
>> llvm::orc::ThreadSafeModule) (Layer.cpp:28)
>> | | | ->03.53% (97,542B) 0x83BCBF5:
>> llvm::orc::LLJIT::addIRModule(llvm::orc::JITDylib&,
>> llvm::orc::ThreadSafeModule,
>> llvm::IntrusiveRefCntPtr<llv...
2020 Oct 01
2
OrcV1 removal
Hi,
On 2020-09-30 21:31:33 -0700, Lang Hames wrote:
> I've taken a first shot at hooking RTDyldObjectLinkingLayer up to the
> ResourceTracker API in 7436b2ab2428. Could you let me know whether that
> fixes the leak you were seeing?
It did improve the situation significantly, thanks!
There's still a smaller leak, unfortunately. The function comments for
modules say that:
/**
*
2012 Sep 21
2
[LLVMdev] Clang API parsing of the destructor
...main()
{
clang::DiagnosticOptions diagnosticOptions;
diagnosticOptions.ShowColors=1;
diagnosticOptions.ShowOptionNames=1;
clang::TextDiagnosticPrinter *pTextDiagnosticPrinter =
new clang::TextDiagnosticPrinter(
llvm::outs(),
diagnosticOptions);
llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> pDiagIDs;
clang::DiagnosticsEngine *pDiagnosticsEngine =
new clang::DiagnosticsEngine(pDiagIDs, pTextDiagnosticPrinter);
clang::LangOptions languageOptions;
languageOptions.GNUMode = 1;
languageOptions.CXXExceptions = 1;
languageOptions.RTTI =...
2012 Jun 26
1
[LLVMdev] Error compiling llvm/clang with clang+libc++ with -std=cxx0x
...Dimitry. That worked.
I see some warnings in my compilations:
> Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntEqClasses.cpp.o
> [ 2%] clang-3: warning: argument unused during compilation: '-nostdinc++'
> Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntrusiveRefCntPtr.cpp.o
> clang-3: warning: argument unused during compilation: '-stdlib=libc++'
Is that expected? I'm using both -stdlib=libc++ and -std=cxx0x. I dont
see them when I used just -stdlib=libc++ flag.
Thanks,
Ashok
On 6/26/2012 1:30 AM, Dimitry Andric wrote:
> On 2012-06-26 04:22...
2012 Sep 21
0
[LLVMdev] Clang API parsing of the destructor
...ns diagnosticOptions;
> diagnosticOptions.ShowColors=1;
> diagnosticOptions.ShowOptionNames=1;
> clang::TextDiagnosticPrinter *pTextDiagnosticPrinter =
> new clang::TextDiagnosticPrinter(
> llvm::outs(),
> diagnosticOptions);
> llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> pDiagIDs;
> clang::DiagnosticsEngine *pDiagnosticsEngine =
> new clang::DiagnosticsEngine(pDiagIDs, pTextDiagnosticPrinter);
>
> clang::LangOptions languageOptions;
> languageOptions.GNUMode = 1;
> languageOptions.CXXExceptions =...
2012 May 29
1
[LLVMdev] [cfe-commits] r157260 - in /cfe/trunk: include/clang/Rewrite/Rewriter.h lib/Rewrite/Rewriter.cpp unittests/CMakeLists.txt unittests/Tooling/RewriterTest.cpp unittests/Tooling/RewriterTestContext.h
...for testing and provides
>>> > convenience
>>> > +/// methods, which help with writing tests that change files.
>>> > +class RewriterTestContext {
>>> > + public:
>>> > + RewriterTestContext()
>>> > + : Diagnostics(llvm::IntrusiveRefCntPtr<DiagnosticIDs>()),
>>> > + DiagnosticPrinter(llvm::outs(), DiagnosticOptions()),
>>> > + Files((FileSystemOptions())),
>>> > + Sources(Diagnostics, Files),
>>> > + Rewrite(Sources, Options) {
>>> > + Di...
2013 Oct 03
0
[LLVMdev] libclang JIT frontend
...}
//int main(int argc, const char **argv, char * const *envp) {
int interpretFile (int argc, const char *argv, char * const *envp) {
void *MainAddr = (void*) (intptr_t) GetExecutablePath;
// llvm::sys::Path Path = GetExecutablePath(argv[0]);
llvm::sys::Path Path = GetExecutablePath(argv);
IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = new DiagnosticOptions();
TextDiagnosticPrinter *DiagClient =
new TextDiagnosticPrinter(llvm::errs(), &*DiagOpts);
IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());
DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagClient);
Dr...
2011 Dec 16
0
[LLVMdev] LLVM+Clang as a shared library
...k/examples/clang-interpreter/), I
get linking errors. For example, undefined references to
clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&,
clang::DiagnosticOptions const&, bool),
clang::DiagnosticIDs::DiagnosticIDs(),clang::DiagnosticsEngine::DiagnosticsE
ngine(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> const&,
clang::DiagnosticConsumer*, bool), etc.
What I don't understand is that both LLVM and Clang are built together, yet
only LLVM works for me. Otherwise, yes, I have made sure that my Qt-based
application is built with Clang in mind. In fact, I have done ex...
2012 Jun 26
0
[LLVMdev] Error compiling llvm/clang with clang+libc++ with -std=cxx0x
On 2012-06-26 04:22, Ashok Nalkund wrote:
...
>> /local/mnt/workspace/ashoknn/519_libcxx_transition/llvm/src/tools/bugpoint/ToolRunner.cpp:131:12: error: invalid operands to binary expression ('llvm::raw_ostream' and 'std::ostringstream'
>> (aka 'basic_ostringstream<char>'))
>> errs() << OS;
>> ~~~~~~ ^ ~~
>
Hi Ashok,
2012 Jun 26
2
[LLVMdev] Error compiling llvm/clang with clang+libc++ with -std=cxx0x
Hi All,
I'm using LLVM/Clang 3.1 release.
I first compiled llvm/clang using GCC per the instructions on the
web with cmake. I then compiled libc++ per the instructions on the web.
I then tried to compile llvm/clang with previously compiled clang and
libc++ using "-std=c++0x -stdlib=libc++" flags. But the compilation
fails at:
> [ 58%] Building CXX object
2012 Jul 10
0
[LLVMdev] Unable to do even basic Clang tutorial
...to `llvm::outs()'
tutorial1.cpp:(.text+0x72): undefined reference to `clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&, clang::DiagnosticOptions const&, bool)'
tutorial1.cpp:(.text+0xd7): undefined reference to `clang::DiagnosticsEngine::DiagnosticsEngine(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> const&, clang::DiagnosticConsumer*, bool)'
tutorial1.cpp:(.text+0xf4): undefined reference to `clang::LangOptions::LangOptions()'
tutorial1.cpp:(.text+0x125): undefined reference to `clang::FileManager::FileManager(clang::FileSystemOptions const&)'
tu...
2012 Jul 10
2
[LLVMdev] Unable to do even basic Clang tutorial
...; tutorial1.cpp:(.text+0x72): undefined reference to
> `clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&,
> clang::DiagnosticOptions const&, bool)'
> tutorial1.cpp:(.text+0xd7): undefined reference to
> `clang::DiagnosticsEngine::DiagnosticsEngine(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs>
> const&, clang::DiagnosticConsumer*, bool)'
> tutorial1.cpp:(.text+0xf4): undefined reference to
> `clang::LangOptions::LangOptions()'
> tutorial1.cpp:(.text+0x125): undefined reference to
> `clang::FileManager::FileManager(clang::FileSystemOp...
2012 Jul 10
2
[LLVMdev] Unable to do even basic Clang tutorial
...; tutorial1.cpp:(.text+0x72): undefined reference to
> `clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&,
> clang::DiagnosticOptions const&, bool)'
> tutorial1.cpp:(.text+0xd7): undefined reference to
> `clang::DiagnosticsEngine::DiagnosticsEngine(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs>
> const&, clang::DiagnosticConsumer*, bool)'
> tutorial1.cpp:(.text+0xf4): undefined reference to
> `clang::LangOptions::LangOptions()'
> tutorial1.cpp:(.text+0x125): undefined reference to
> `clang::FileManager::FileManager(clang::FileSystemOp...
2017 Jun 28
2
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
...ction clang::ento::CXXDestructorCall* clang::ento::CallEventManager::create<clang::ento::CXXDestructorCall, clang::CXXDestructorDecl const*, clang::Stmt const*, clang::ento::MemRegion const*, bool>(clang::CXXDestructorDecl const*, clang::Stmt const*, clang::ento::MemRegion const*, bool, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::LocationContext const*)): relocation R_ARM_CALL out of range
/home/yawmoo/Desktop/clfs/llvm-cross-tools-lld/bin/ld.lld: error: /home/yawmoo/Desktop/clfs/sources/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp:(function llvm::Pass* llvm::callDefaultCtor<l...
2017 Jun 28
3
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
...ction clang::ento::CXXDestructorCall* clang::ento::CallEventManager::create<clang::ento::CXXDestructorCall, clang::CXXDestructorDecl const*, clang::Stmt const*, clang::ento::MemRegion const*, bool>(clang::CXXDestructorDecl const*, clang::Stmt const*, clang::ento::MemRegion const*, bool, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::LocationContext const*)): relocation R_ARM_CALL out of range
>> /home/yawmoo/Desktop/clfs/llvm-cross-tools-lld/bin/ld.lld: error: /home/yawmoo/Desktop/clfs/sources/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp:(function llvm::Pass* llvm::callDefault...