Displaying 8 results from an estimated 8 matches for "bblock".
Did you mean:
block
2005 Mar 16
2
[LLVMdev] Dynamic Creation of a simple program
Hi Misha,
Thanks for your answer
I was doing this:
========================
BasicBlock *BBlock = new BasicBlock("entry", MyFunc);
...
Value *Zero = ConstantSInt::get(Type::IntTy, 0);
Value *UZero = ConstantUInt::get(Type::UIntTy, 0);
MallocInst* mi = new MallocInst( STyStru );
mi->setName("tmp.0");
BBlock->getInstList().push_back( mi );
GetElementPtrI...
2008 Dec 05
2
[LLVMdev] replacing a global variable by a constant
Hi,
I am trying to replace a global variable with a constant.
I did manage to do it, but somehow it appears to be fairly bruteforce by
just iterating over all functions/bblocks/instructions and filtering for
those that load the variable and replacing the instruction with
Instruction::replaceAllUsesWith().
The more intuitive way of iterating over the uses of the variable did
not work out as I have to replace the whole instruction instead of just
the operand (as GlobalVar...
2016 Oct 18
2
[SCEV] inconsistent operand ordering
...oks like the emphasis is on saving compile time by trading off robustness. Is compile time such a big concern here that we want to fix this one test case at a time? We can perhaps use dominator logic to fix this once and for all.
3) When both instructions are in the same basic block, iterating the bblock and returning based on the instruction which is encountered first might be better.
Thanks,
Pankaj
-----Original Message-----
From: Sanjoy Das [mailto:sanjoy at playingwithpointers.com]
Sent: Tuesday, October 18, 2016 11:05 AM
To: Chawla, Pankaj
Cc: llvm-dev at lists.llvm.org
Subject: Re: [llvm-...
2008 Dec 05
0
[LLVMdev] replacing a global variable by a constant
...on or global value optimization).
That pass would then probably do some similar iterating as you've described,
but at least you won't have to maintain that part of code :-)
> I did manage to do it, but somehow it appears to be fairly bruteforce by
> just iterating over all functions/bblocks/instructions and filtering for
> those that load the variable and replacing the instruction with
> Instruction::replaceAllUsesWith().
> The more intuitive way of iterating over the uses of the variable did
> not work out as I have to replace the whole instruction instead of just
>...
2010 May 11
0
[LLVMdev] determine the basic_block inside if and else
Hello
I used a functionPass to count the number of bloks ?
so for each BBlock I check if it is a loop or BB ...
and I'm wandring How can I determine if a BB is a conditional block (if) ??
and How can I separate between the BBs inside the if and those inside the
else ??
Thank you so much
K.H
-------------- next part --------------
An HTML attachment was scrubbed...
URL...
2008 Dec 05
1
[LLVMdev] replacing a global variable by a constant
...>
> That pass would then probably do some similar iterating as you've described,
> but at least you won't have to maintain that part of code :-)
>
>
>> I did manage to do it, but somehow it appears to be fairly bruteforce by
>> just iterating over all functions/bblocks/instructions and filtering for
>> those that load the variable and replacing the instruction with
>> Instruction::replaceAllUsesWith().
>> The more intuitive way of iterating over the uses of the variable did
>> not work out as I have to replace the whole instruction inste...
2016 Oct 18
2
[SCEV] inconsistent operand ordering
...ll need to differentiate between global variables.
For (2), I'm not quite sure what you mean by "dominator logic".
I agree with you generally: within reason, we should try to canonicalize as much as possible.
> 3) When both instructions are in the same basic block, iterating the bblock and returning based on the instruction which is encountered first might be better.
This was my first impulse, but I'll have to think about whether:
a. It makes SCEV too fragile around instruction ordering -- we don't want divergent behavior triggered by seemingly innocent ordering diffe...
2016 Oct 17
2
[SCEV] inconsistent operand ordering
Hi,
I noticed an inconsistency in how ScalarEvolution orders instruction operands. This inconsistency can result in creation of separate (%a * %b) and (%b * %a) SCEVs as demonstrated by the example IR below (attached as gep-phi.ll)-
target datalayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
define void @foo(i8* nocapture %arr, i32 %n, i32* %A, i32* %B) local_unnamed_addr {