search for: isconst

Displaying 20 results from an estimated 59 matches for "isconst".

Did you mean: const
2018 Apr 27
1
TBAA metadata
...st be the same, and that is the TBAA root of the access tag." (https://llvm.org/docs/LangRef.html#tbaa-metadata) But, from what I see, the CodeGenTBAA pass never sets this field. CodeGenTBAA::getAccessTagInfo() calls createTBAAStructTagNode() to create the access tag, but it does not pass the IsConstant parameter. /// \brief Return metadata for a TBAA tag node with the given /// base type, access type and offset relative to the base type. MDNode *createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType, uint64_t Offset, bool IsConstant = false); So...
2009 Nov 03
2
[LLVMdev] DenseMap iterator constness fix
...plicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. The second patch (DenseMapIterator-clang.patch) corrects clang&...
2010 May 13
1
[LLVMdev] How to create Global Variables using LLVM API?
I am using llvm-2.6. In the online documentation, the signature is GlobalVariable::GlobalVariable ( const Type * Ty, bool isConstant, LinkageTypes Linkage, Constant * Initializer = 0, const Twine & Name = "", bool ThreadLocal = false, unsigned AddressSpace = 0 ) the link to the documenation is http://llvm.org/doxygen/classllvm_1_1GlobalVariable.html There are two constructors given. Second...
2009 Nov 04
2
[LLVMdev] DenseMap iterator constness fix
...ap::iterator which was > > possible because DenseMapIterator inherited (publicly) from > > DenseMapConstIterator. Conversion the other way around is now allowed as > one > > may expect. > > The template DenseMapConstIterator is removed and the template > > parameter IsConst which specifies whether the iterator is constant > is added > > to DenseMapIterator. > > Actually IsConst parameter is not necessary since the constness can be > > determined from KeyT but this is not relevant to the fix and can be > > addressed later. > > The secon...
2009 Nov 04
2
[LLVMdev] DenseMap iterator constness fix
...MapIterator inherited (publicly) from > >> > DenseMapConstIterator. Conversion the other way around is now allowed > as > >> > one > >> > may expect. > >> > The template DenseMapConstIterator is removed and the template > >> > parameter IsConst which specifies whether the iterator is constant > >> > is added > >> > to DenseMapIterator. > >> > Actually IsConst parameter is not necessary since the constness can be > >> > determined from KeyT but this is not relevant to the fix and can be >...
2009 Nov 03
0
[LLVMdev] DenseMap iterator constness fix
...eMap::const_iterator to DenseMap::iterator which was > possible because DenseMapIterator inherited (publicly) from > DenseMapConstIterator. Conversion the other way around is now allowed as one > may expect. > The template DenseMapConstIterator is removed and the template > parameter IsConst which specifies whether the iterator is constant is added > to DenseMapIterator. > Actually IsConst parameter is not necessary since the constness can be > determined from KeyT but this is not relevant to the fix and can be > addressed later. > The second patch (DenseMapIterator-clan...
2009 Nov 04
0
[LLVMdev] DenseMap iterator constness fix
...t; > possible because DenseMapIterator inherited (publicly) from >> > DenseMapConstIterator. Conversion the other way around is now allowed as >> > one >> > may expect. >> > The template DenseMapConstIterator is removed and the template >> > parameter IsConst which specifies whether the iterator is constant >> > is added >> > to DenseMapIterator. >> > Actually IsConst parameter is not necessary since the constness can be >> > determined from KeyT but this is not relevant to the fix and can be >> > addressed l...
2013 May 09
5
[LLVMdev] [PATCH] Minor fix to StackColoring to avoid needlessly clearing mem operands.
...that it doesn't 537 // alias a merged alloca. 538 MMO->setValue(0); 539 continue; 540 } The attached patch makes the code above less conservative. It avoids clearing a mem operand if its underlying value is a PseudoSourceValue and PseudoSourceValue::isConstant returns true. This enables MachineLICM to hoist loads from GOT out of a loop (see test case in stackcoloring-test.patch). Please review. Question: Why does it need to clear a mem operand if the underlying object is not an AllocaInst? I am not sure if I understand the reason for this. ---------...
2009 Nov 09
0
[LLVMdev] DenseMap iterator constness fix
...ublicly) from >> >> > DenseMapConstIterator. Conversion the other way around is now allowed >> as >> >> > one >> >> > may expect. >> >> > The template DenseMapConstIterator is removed and the template >> >> > parameter IsConst which specifies whether the iterator is constant >> >> > is added >> >> > to DenseMapIterator. >> >> > Actually IsConst parameter is not necessary since the constness can >> be >> >> > determined from KeyT but this is not relevant to...
2017 Jun 11
2
Get segfault with ModulePass
...terator. Do you know some way to circumvent this. I've found no way to directly get the ith argument of a function. New stacktrace (same file btw): ----------------- ... op_code: phi clang-4.0: /usr/lib/llvm/4/include/llvm/ADT/ilist_iterator.h:139: llvm::ilist_iterator<OptionsT, IsReverse, IsConst>::reference llvm::ilist_iterator<OptionsT, IsReverse, IsConst>::operator*() const [with OptionsT = llvm::ilist_detail::node_options<llvm::Argument, true, false, void>; bool IsReverse = false; bool IsConst = true; llvm::ilist_iterator<OptionsT, IsReverse, IsConst>::reference = c...
2019 Jan 28
2
Create a BlockAddress array from LLVM Pass
...wing to create the same array from LLVM pass. std::vector<BlockAddress *> tmp; Function *fn = ... BasicBlock *bb = ... BlockAddress *bba = BlockAddress::get(fn, bb); tmp.push_back(bba); GlobalVariable *gvar_ptr_abc = new GlobalVariable( /*Module=*/*fn->getParent(), /*Type=*/PointerTy, /*isConstant=*/false, /*Linkage=*/GlobalValue::InternalLinkage, /*Initializer=*/0, // has initializer, specified below /*Name=*/"labelTracker"); gvar_ptr_abc->setAlignment(16); Constant *blockItems = ConstantDataArray::get(fn->getContext(), tmp); gvar_ptr_abc->setInitializer(blockItems); I...
2019 Jun 21
2
Purpose of Epoch Trackers
...lvm::DenseMapIterator::ConstIterator &) const [KeyT = const llvm::Value *, ValueT = llvm::StringMapEntry<llvm::Value *> *, KeyInfoT = llvm::DenseMapInfo<const llvm::Value *>, Bucket = llvm::detail::DenseMapPair<const llvm::Value *, llvm::StringMapEntry<llvm::Value *> *>, IsConst = false]: Assertion `(!Ptr || isHandleInSync()) && "handle not in sync!"' failed. It seems like the given assertion is defined in Epochtracker.h only for the debug build. My question is what is the purpose of Epochtrackers,h? Is it there to catch the race condition when acces...
2013 May 13
0
[LLVMdev] Fwd: [PATCH] Minor fix to StackColoring to avoid needlessly clearing mem operands.
...that it doesn't 537 // alias a merged alloca. 538 MMO->setValue(0); 539 continue; 540 } The attached patch makes the code above less conservative. It avoids clearing a mem operand if its underlying value is a PseudoSourceValue and PseudoSourceValue::isConstant returns true. This enables MachineLICM to hoist loads from GOT out of a loop (see test case in stackcoloring-test.patch). Please review. Question: Why does it need to clear a mem operand if the underlying object is not an AllocaInst? I am not sure if I understand the reason for this. ---------...
2009 Jan 02
2
[LLVMdev] new warnings in -r61596
2 new warnings in llvm: /Volumes/mrs5/net/llvm/llvm/lib/AsmParser/LLParser.cpp: In member function 'bool llvm::LLParser::ParseGlobal(const std::string&, const char*, unsigned int, bool, unsigned int)': /Volumes/mrs5/net/llvm/llvm/lib/AsmParser/LLParser.cpp:446: warning: 'IsConstant' may be used uninitialized in this function Volumes/mrs5/net/llvm/llvm/lib/Analysis/ScalarEvolution.cpp: In function 'bool isNegative(llvm::SCEVHandle)': /Volumes/mrs5/net/llvm/llvm/lib/Analysis/ScalarEvolution.cpp:2911: warning: control reaches end of non-void function
2009 Jan 24
1
[LLVMdev] new warnings
A new warning: /Volumes/mrs5/net/llvm/llvm/lib/AsmParser/LLParser.cpp: In member function 'bool llvm::LLParser::ParseGlobal(const std::string&, const char*, unsigned int, bool, unsigned int)': /Volumes/mrs5/net/llvm/llvm/lib/AsmParser/LLParser.cpp:448: warning: 'IsConstant' may be used uninitialized in this function
2009 Feb 09
0
[LLVMdev] 2.5 Pre-release1 available for testing
..._t write(int, const void*, size_t)’, declared with attribute warn_unused_result llvm[2]: Compiling LLParser.cpp for Release build LLParser.cpp: In member function ‘bool llvm::LLParser::ParseGlobal(const std::string&, const char*, unsigned int, bool, unsigned int)’: LLParser.cpp:448: warning: ‘IsConstant’ may be used uninitialized in this function Ciao, Duncan.
2010 May 12
0
[LLVMdev] How to create Global Variables using LLVM API?
Hi subramanyam, > Actually, the signature of the constructor given in the online documentation > is different from the actual source code. which bit of the documentation? Any chance of a patch that fixes it? Ciao, Duncan.
2015 May 28
0
[LLVMdev] Naming TBAA nodes in LLVM >=3.6?
In Julia's use of LLVM, we were naming TBAA nodes with logic like this for LLVM 3.3: static MDNode *tbaa_make_child( const char *name, MDNode *parent, bool isConstant=false ) { MDNode *n = mbuilder->createTBAANode(name,parent,isConstant); n->setValueName( ValueName::Create(name, name+strlen(name))); return n; } The names would show up in dumps of the IR (e.g. "call F.dump()" from gdb) , which was really handy for debugging. But w...
2007 Jan 28
1
plot.lm (PR#9474)
...facval[ord] <- facval xx <- facval plot(facval, rs, xlim = c(-1/2, sum((nlev - 1) * to # facval[ord] <- facval xx <- facval[ord] plot(xx, rs, xlim = c(-1/2, sum((nlev - 1) * in the "if (isConst.hat)" section of "show[5]". The data then plotted correctly but the extreme point labels did not move. I'm not up to the task of figuring out how to fix the labels, and there might be other side effects of the change I made. In any case, something needs to be done. Thanks for...
2010 May 12
2
[LLVMdev] How to create Global Variables using LLVM API?
Thanks. It works. Actually, the signature of the constructor given in the online documentation is different from the actual source code. Nick Lewycky wrote: > > subramanyam wrote: >> >> I am new to LLVM API. and I am experimenting with it. >> I want to create Global Variables in a module. >> I am able to create local variables using IRBuilder class. I tried using