search for: getuser

Displaying 20 results from an estimated 72 matches for "getuser".

Did you mean: get_user
2008 Apr 16
0
[LLVMdev] PATCH: Use size reduction -- wave2
On Apr 16, 2008, at 2:50 AM, heisenbug wrote: > > And now here is my educated speculation: > There are 2 things that became slower > 1) Use::getUser() > 2) Use::get/set due to tagging. > > The former is seldom called: > > $ find lib -name "*.cpp" | xargs grep "getUser(" | wc -l > 41 The majority of those aren't actually Use::getUser, but on the other hand this grep misses all the users of value_us...
2008 Apr 16
5
[LLVMdev] PATCH: Use size reduction -- wave2
...ple to do your measurements yourself (and I'd love to hear the results!) : cd llvm svn switch http://llvm.org/svn/llvm-project/llvm/branches/ggreif/use-diet . make rebuild llvm-gcc, etc. retest. And now here is my educated speculation: There are 2 things that became slower 1) Use::getUser() 2) Use::get/set due to tagging. The former is seldom called: $ find lib -name "*.cpp" | xargs grep "getUser(" | wc -l 41 We could audit those to make sure that no unnecessary calls are done. But the getUse() algorithm is not sooo inefficient, anyway. The second is co...
2020 Jan 15
4
Finding callees of a function
I searched the doxygen documentation and could not find a solution to my task: In a ModulePass running at EP_OptimizerLast, if I have a function F like in: bool Foo:runOnModule(Module &M) { LLVMContext &C = M.getContext(); for (auto &F : M) { // magic here if I want to know from which function (callee) each function is called - how can I do this? (so that I e.g. have
2006 Sep 06
0
soapenc:base64 and xsd:base64Binary
...<xsd:restriction base="soapenc:Array"> <xsd:attribute wsdl:arrayType="xsd:int[]" ref="soapenc:arrayType"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> </xsd:schema> </types> <message name="GetUser"> <part name="userID" type="xsd:int"/> </message> <message name="GetUserResponse"> <part name="return" type="soapenc:base64"/> </message> <portType name="IdkitIdkitPort"> <operatio...
2015 Jul 27
2
[LLVMdev] a question about pooalloc
....h: No such file or directory. ​I correct the path of callsite.h to "llvm/Support/Callsite.h". there is another error: AddressTakenAnalysis.cpp:In function 'bool isAddresTaken(llvm::Value)' AddressTakenAnalysis.cpp:39:18: error: 'class llvm::User' hao no member named 'getUser' User *U = I->getUser(); .... ​ so I wonder if I get the wrong version, and where should I get the right version compiler with LLVM3.3? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150727/cced8694/a...
2018 Apr 20
2
Missed strlen optimizations
Use *last = nullptr; for (Use &U : Src->uses()) last = &U; last->getUser()->dump(); Or any better solution? 2018-04-20 19:19 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>: > Is: > > > 2018-04-20 18:07 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>: > >> Hello, >> >> Code: https://godbolt.org/g/EG4W...
2011 Jan 06
0
Problem with package twitteR and converting S4 obj to data frame
...get the following error: Error in list_to_dataframe(res, attr(.data, "split_labels")) : Results do not have equal lengths I have no clue why works fine with n=10 but for higher values fall over. Any Suggestions? Below is my script. Thanks, Alberto library(plyr) library(twitteR) getuser <- getUser('altons') count <- 50 UserFollowers <-userFollowers(getuser, n=count, session = getCurlHandle()) dffollow <- ldply(userFollowers(getuser, n=count, session = getCurlHandle()), function(x) c(screenName=x at screenName ,name=x at name ,statuses...
2018 Apr 20
0
Missed strlen optimizations
Maybe nicer.. auto i = Src->uses().begin(); std::advance(i, Src->getNumUses() - 1); i->getUser()->dump(); 2018-04-20 19:19 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>: > Use *last = nullptr; > for (Use &U : Src->uses()) > last = &U; > last->getUser()->dump(); > > > Or any better solution? > > 2018-04-20 19:19 GMT...
2015 May 09
4
[LLVMdev] [LSR] hoisting loop invariants in reverse order
...int arg2 = arg1 + c; int arg3 = arg2 + c; // 2 muls and 3 adds/subs. 1 add/sub less than with the reversed order I have a proof-of-concept patch ( http://reviews.llvm.org/differential/diff/25402/) that has CollectFixupsAndInitialFormulae to sort initial formulae in a dominance order (i.e. if A.getUser() dominates B.getUser(), then we put A before B). It breaks some tests that are too sensitive to order changes; besides that, I don't see significant issues. Jingyue -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/att...
2018 Aug 07
2
Error Calling eraseFromParent()
Hi. This is part of my code: ... if (auto* op = dyn_cast<BinaryOperator>(&I)) { Value* lhs = op->getOperand(0); Value* rhs = op->getOperand(1); Value* mul = builder.CreateMul(lhs, rhs); for (auto& U : op->uses()) { User* user = U.getUser(); user->setOperand(U.getOperandNo(), mul); } I.eraseFromParent(); } ... This leads to the following runtime error: LLVMSymbolizer: error reading file: No such file or directory ... Does anybody know the solution? Regards. -------------- next part -------------- An HTML attachment w...
2018 Aug 08
2
Error Calling eraseFromParent()
...!= Ie;) { Instruction *I = &*(It++); if (auto* op = dyn_cast<BinaryOperator>(I)) { IRBuilder<NoFolder> builder(op); Value* lhs = op->getOperand(0); Value* rhs = op->getOperand(1); Value* mul = builder.CreateMul(lhs, rhs); for (auto& U : op->uses()) { User* user = U.getUser(); user->setOperand(U.getOperandNo(), mul); } //I->eraseFromParent(); dels.push_back(I); } } for (auto &I : dels) { I->eraseFromParent(); } ... On Wed, Aug 8, 2018 at 6:16 PM, mayuyu.io <admin at mayuyu.io> wrote: > Hi: > As stated in the documentation you shouldn’t mo...
2009 Jul 18
3
[LLVMdev] Where does llvm.memcpy.i64 and friends get lowered ?
2009/7/18 Chris Lattner <clattner at apple.com> > > On Jul 18, 2009, at 2:56 PM, Aaron Gray wrote: > > I am iterating through Modules symbols for 'test/CodeGen/X86/memcpy.bc > > > If you're iterating over functions, just ignore all intrinsics. > Okay, but it would be nice if the Module object reflected the lowered symbol names like 'memcpy' too.
2013 Jan 02
2
[LLVMdev] Build Failure
I'm getting a build failure with -Werror: [off-dbg] : [llvm] /ptmp/dag/llvm/official/llvm/lib/IR/Use.cpp: In member function 'llvm::User* llvm::Use::getUser() const': [off-dbg] : [llvm] /ptmp/dag/llvm/official/llvm/lib/IR/Use.cpp:142:14: error: cast from type 'const llvm::Use*' to type 'llvm::User*' casts away qualifiers [-Werror=cast-qual] -David
2014 Aug 09
2
[LLVMdev] difference between replaceAllUsesWith and replaceUsesOfWith?
Why is the first for loop not equivalent to the second? Thanks, Rob =========================== for (GlobalVariable **i = Globals.begin(), **e = Globals.end(); i != e; ++i) { GlobalVariable *GV = *i; Constant *GEP = ConstantExpr::getGetElementPtr(...); GV->replaceAllUsesWith(GEP); } =========================== for (GlobalVariable **i = Globals.begin(), **e = Globals.end(); i != e;
2018 Aug 07
2
Error Calling eraseFromParent()
...de { for (auto &I : instructions(F)) { if (auto* op = dyn_cast<BinaryOperator>(&I)) { IRBuilder<> builder(op); Value* lhs = op->getOperand(0); Value* rhs = op->getOperand(1); Value* mul = builder.CreateMul(lhs, rhs); for (auto& U : op->uses()) { User* user = U.getUser(); user->setOperand(U.getOperandNo(), mul); } I.eraseFromParent(); } } ... And I think that the code worked well with LLVM-3.6.0 that I tested one year ago. Now, I use LLVM-6.0.0. Regards. On Tue, Aug 7, 2018 at 8:11 PM, <paul.robinson at sony.com> wrote: > LLVMSymbolizer is i...
2014 Aug 09
3
[LLVMdev] difference between replaceAllUsesWith and replaceUsesOfWith?
...loop not equivalent to the second? > > In the second loop, "*ui" is an llvm::Use object. It's owned by a > User, but isn't a subclass of one. To match the first loop, you either > need to call Value::user_begin instead of use_begin, or do the cast on > "ui->getUser()". > I think this is incorrect since the use_iterator is defined as: `typedef value_use_iterator<User> use_iterator;` and indeed `ui->getUser();` is not a callable function on a User. What am I missing? -Rob -------------- next part -------------- An HTML attachment was scrubb...
2018 Aug 08
3
Error Calling eraseFromParent()
...gt; if (auto* op = dyn_cast<BinaryOperator>(I)) { > IRBuilder<NoFolder> builder(op); > > Value* lhs = op->getOperand(0); > Value* rhs = op->getOperand(1); > Value* mul = builder.CreateMul(lhs, rhs); > > for (auto& U : op->uses()) { > User* user = U.getUser(); > user->setOperand(U.getOperandNo(), mul); > } > //I->eraseFromParent(); > dels.push_back(I); > } > } > > for (auto &I : dels) { > I->eraseFromParent(); > } > ... > > On Wed, Aug 8, 2018 at 6:16 PM, mayuyu.io <admin at mayuyu.io> wrote:...
2016 Feb 16
2
Difference between “uses” and “user”
Hi everyone, Instruction and Value classes have "Uses" and "User". What is the difference between them? I think that "Uses" gives all the instructions/values that a particular Value depends on and "User" gives all the instructions/values that depend on that particular value. Is that right? Best, Carlo -------------- next part -------------- An HTML
2018 Aug 07
2
Error Calling eraseFromParent()
...; > if (auto* op = dyn_cast<BinaryOperator>(&I)) { > IRBuilder<> builder(op); > > Value* lhs = op->getOperand(0); > Value* rhs = op->getOperand(1); > Value* mul = builder.CreateMul(lhs, rhs); > > for (auto& U : op->uses()) { > User* user = U.getUser(); > user->setOperand(U.getOperandNo(), mul); > } > > I.eraseFromParent(); > } > > } > ... > And I think that the code worked well with LLVM-3.6.0 that I tested one > year ago. Now, I use LLVM-6.0.0. > Regards. > -------------- next part -------------- A...
2017 Jun 09
2
Get segfault with ModulePass
...codeName() << '\n'; loc = I.getDebugLoc(); if (loc != nullptr) { errs() << "file: " << loc->getFilename() << '\n'; } for (const auto& use : I.uses()) { if (const CallInst* c = dyn_cast<CallInst>(use.getUser())) { const Function* f = c->getCalledFunction(); if (f != nullptr) { for (unsigned i = 0; i < c->getNumArgOperands(); ++i) { const Use& u = c->getArgOperandUse(i); if (u.operator->() == &I) { Function::const_arg_iterato...