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...