Displaying 11 results from an estimated 11 matches for "n_addr".
Did you mean:
__addr
2017 Aug 10
4
sinking in LICM
...the check in isNotUsedInLoop() which returns false when a PHI node use
is hooked from a block inside the loop. I'm not sure if we really need
to have this check even when the PHI is outside the loop?
define i32 @test7(i32 %N, i32 %N2, i1 %C) {
Entry:
br label %Loop
Loop:
%N_addr.0.pn = phi i32 [ %dec, %ContLoop ], [ %N, %Entry ]
%tmp.6 = mul i32 %N, %N_addr.0.pn
%tmp.7 = sub i32 %tmp.6, %N
%tmp.8 = sub i32 %tmp.6, %N2
%dec = add i32 %N_addr.0.pn, -1
br i1 %C, label %ContLoop, label %Out12
ContLoop:
%tmp.1 = icmp ne i32...
2011 Sep 14
1
[LLVMdev] Fwd: LLVM IR Branchs
...%4.
2011/9/14 Rafael Baldiati Parizi <parizi.computacao at gmail.com>
> Hello,
> I created a new block for execution to continue, but I got the case in
> which a statement defined in a block is used in another, not dominate all
> uses.
> For example:
>
> entry:
> %n_addr = alloca i32, align 4
> %retval = alloca i32
> %"alloca point" = bitcast i32 0 to i32
> store i32 %n, i32* %n_addr
> %0 = call i32 (i8*, ...)* @printf(i8* noalias getelementptr inbounds
> ([20 x i8]* @.str, i32 0, i32 0)) nounwind
> %1 = load i32* %n_addr,...
2011 Sep 14
0
[LLVMdev] Fwd: LLVM IR Branchs
Hello,
I created a new block for execution to continue, but I got the case in which
a statement defined in a block is used in another, not dominate all uses.
For example:
entry:
%n_addr = alloca i32, align 4
%retval = alloca i32
%"alloca point" = bitcast i32 0 to i32
store i32 %n, i32* %n_addr
%0 = call i32 (i8*, ...)* @printf(i8* noalias getelementptr inbounds ([20
x i8]* @.str, i32 0, i32 0)) nounwind
%1 = load i32* %n_addr, align 4
%2 = and i32 %1, 1...
2011 Sep 06
2
[LLVMdev] Fwd: LLVM IR Branchs
Ok! I do understand.
Thanks by help!
2011/9/5 Justin Holewinski <justin.holewinski at gmail.com>
> On Mon, Sep 5, 2011 at 8:37 PM, Rafael Baldiati Parizi <
> parizi.computacao at gmail.com> wrote:
>
>> Yes, that's how I'm doing now ... create a new block where the execution
>> flow will continue after the shift, following the basics of basic blocks.
2008 Sep 02
0
[LLVMdev] CloneBasicBlock and Unnamed Temporaries
Hi,
I was trying to use CloneBasicBlock() (in Cloning.h) to clone basic
blocks in one of my transform passes. For example, when I have a basic
block like:
bb1: ; preds = %bb
load i32* %i, align 4 ; <i32>:11 [#uses=2]
load i32* %n_addr, align 4 ; <i32>:12 [#uses=2]
icmp slt i32 %11, %12 ; <i1>:13 [#uses=2]
cloning it gives something like:
bb1_clone: ; preds = %entry
load i32* %i, align 4 ; <i32>:28 [#uses=0]
load i32* %n_addr, align 4 ; <i32>:29 [#uses=0]
icmp slt i32 %11, %12 ; <i1>:30...
2005 Feb 22
0
[LLVMdev] Area for improvement
...<bool> [#uses=1]
br bool %tmp.15, label %return, label %no_exit
no_exit: ; preds = %no_exit, %entry
%P_addr.0.0 = phi "complex long double"* [ %inc, %no_exit ], [ %P, %entry ] ; <"complex long double"*> [#uses=3]
%N_addr.0.0 = phi uint [ %dec, %no_exit ], [ %N, %entry ] ; <uint> [#uses=1]
%inc = getelementptr "complex long double"* %P_addr.0.0, int 1 ; <"complex long double"*> [#uses=1]
%tmp.4 = getelementptr "complex long double"* %...
2005 Feb 22
2
[LLVMdev] Area for improvement
...> br bool %tmp.15, label %return, label %no_exit
> no_exit: ; preds = %no_exit, %entry
> %P_addr.0.0 = phi "complex long double"* [ %inc, %no_exit ], [
> %P, %entry ] ; <"complex long double"*> [#uses=3]
> %N_addr.0.0 = phi uint [ %dec, %no_exit ], [ %N, %entry
> ] ; <uint> [#uses=1]
> %inc = getelementptr "complex long double"* %P_addr.0.0, int
> 1 ; <"complex long double"*> [#uses=1]
> %tmp.4 = getelementptr "complex...
2005 Feb 22
0
[LLVMdev] Area for improvement
...bool %tmp.15, label %return, label %no_exit
>> no_exit: ; preds = %no_exit, %entry
>> %P_addr.0.0 = phi "complex long double"* [ %inc, %no_exit ], [ %P,
>> %entry ] ; <"complex long double"*> [#uses=3]
>> %N_addr.0.0 = phi uint [ %dec, %no_exit ], [ %N, %entry ]
>> ; <uint> [#uses=1]
>> %inc = getelementptr "complex long double"* %P_addr.0.0, int 1
>> ; <"complex long double"*> [#uses=1]
>> %tmp.4 = getelementptr "complex long do...
2005 Feb 22
5
[LLVMdev] Area for improvement
I noticed that fourinarow is one of the programs in which LLVM is much
slower than GCC, so I decided to take a look and see why that is so.
The program has many loops that look like this:
#define ROWS 6
#define COLS 7
void init_board(char b[COLS][ROWS+1])
{
int i,j;
for (i=0;i<COLS;i++)
for (j=0;j<ROWS;j++)
b[i][j]='.';
2011 Jul 06
2
[LLVMdev] First steps with LLVM and partial evaluation
...lo", "Hello World Pass", false, false);
}
------------------------------------------------------------------------------------------------------
The resulting error message from the verification step is:
Stored value type does not match pointer operand type!
store i32 3, i32* %n_addr
i32Broken module found, compilation aborted!
Stack dump:
0. Program arguments: opt --load obj/pass/ce_opt_pass.so -hello power.ir
1. Running pass 'Function Pass Manager' on module 'power.ir'.
2. Running pass 'Module Verifier' on function '@mypower_s...
2008 Jun 10
3
[LLVMdev] DejaGNU test fixes
...3-06-VarSizeInStruct1.c'
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
target triple = "i386-pc-linux-gnu"
%struct..0f = type { i8, i8 }
define i8* @p(i32 %n) nounwind {
entry:
%n_addr = alloca i32 ; <i32*> [#uses=2]
%retval = alloca i8* ; <i8**> [#uses=2]
%saved_stack.9 = alloca i8* ; <i8**> [#uses=2]
%tmp = alloca i8* ; <i8**> [#uses=2]
%F.8 = alloca %struct..0f* ; <%struct..0f**> [#uses=3]
%n.0 = alloca i32 ; <i32*> [#uses=9]
%&q...