Displaying 20 results from an estimated 500 matches similar to: "[LLVMdev] Min and max"
2003 Feb 28
2
optim
Dear all,
I have a function MYFUN which depends on 3 positive parameters TETA[1],
TETA[2], and TETA[3]; x belongs to [0,1].
I integrate the function over [0,0.1], [0.1,0.2] and
[0.2,0.3] and want to choose the three parameters so that
these three integrals are as close to, resp., 2300, 4600 and 5800 as
possible. As I have three equations with three unknowns, I expect the
exact fit, i.e., the SS
2017 May 26
2
Moving instructions from source Basic Block to dest Basic Block
Hi,
I have been trying to move some instructions between basic blocks ,
After looking at the API , I found llvm::Instruction::clone() but there
is no result value for this.
For example-
source Basic block :
continuation: ; preds = %else, %then
%iftmp = phi i32 [ 5, %then ], [ 9, %else ]
store i32 %iftmp, i32* %datasize
; 3 instructions below
2017 Jun 16
2
simplify CFG Pass in llvm
I was trying to run the simplify CFG Pass in LLVM , and delete an unreachable basic block ("continuation" below ) after running one of my own IR transforms , but I keep getting the
error -
While deleting: i8* %g
Use still stuck around after Def is destroyed: store i8 0, i8* %g
I am well aware of what that means, but isn't the whole purpose of the "simplifyCFGPass" to
2008 Oct 08
3
[LLVMdev] Lost instcombine opportunity: "or"s of "icmp"s (commutability)
instcombine can handle certain orders of "icmp"s that are "or"ed together:
x != 5 OR x > 10 OR x == 8 becomes..
x != 5 OR x == 8 becomes..
x != 5
However, a different ordering prevents the simplification:
x == 8 OR x > 10 OR x != 5 becomes..
%or.eq8.gt10 OR x != 5
and that can't be simplified because we now have an "or" OR "icmp".
What would I
2013 Sep 05
2
[LLVMdev] Optimisation pass to move an alloca'd array to a global constant array
Hi All,
I was wondering if there is an optimisation pass that moves a stack
allocated array, initialised with constant values, to a global constant
array.
And if there is such a pass, what requirements are there for it to operate?
My optimised IR is below. As you can see an array of 5 integers is
created with alloca, then each element is stored to in turn. It would
be nice if this array was
2008 Oct 08
0
[LLVMdev] [PATCH] Lost instcombine opportunity: "or"s of "icmp"s (commutability)
Here's an initial stab, but I'm not too happy about the temporarily
adding new instructions then removing it because returning it will
have it added back in to replace other uses. I also added a couple
test cases pass with the new InstructionCombining changes (the old
code only passes one of the added tests).
Also, this change exposes some simplification for
2011 May 31
2
[LLVMdev] How to identify LLVM version?
Hi, all
I'd like to write a code that can build different codes based on LLVM version.
Like code snippets in the below.
#ifdef __LLVM_29__
PHINode *PN = Builder.CreatePHI (Type::getDoubleTy(getGlobalContext()), 2, "iftmp");
#elif __LLVM_28__
PHINode *PN = Builder.CreatePHI (Type::getDoubleTy(getGlobalContext()), "iftmp");
#else
assert ("wrong
2011 Jul 06
1
[LLVMdev] Confusion with a Use of a getelementptr instruction being a Use of a select instruction instead
Hello,
I'm doing some Def/Use analysis, and I'm hung up on one tricky spot. The BB
in question is attached. Ignore the red.
The issue is that '%13 = load...' instruction does not show up as a Use for
the '%scevgep25' definition, and I feel like it should. Instead, it shows
up as a Use for '%iftmp.55.0 = select...', though Operand(0) for this '%13 =
2009 Mar 17
2
[LLVMdev] PHIs with Same Basic Block Listed Twice
Dear All,
I have, in an LLVM bitcode program, the following phi node:
%iftmp.225.0 = phi i8* [ getelementptr ([10 x i8]* @.str12597431, i32 0,
i32 0), %bb114 ], [ getelementptr ([10 x i8]* @.str1258, i32 0, i32 0),
%bb111 ], [ getelementptr ([10 x i8]* @.str1258, i32 0, i32 0), %bb111 ]
This phi instruction has two arguments for the same incoming basic
block. The only reason why it passes
2009 Mar 17
0
[LLVMdev] PHIs with Same Basic Block Listed Twice
On Mar 17, 2009, at 11:37 AMPDT, John Criswell wrote:
> Dear All,
>
> I have, in an LLVM bitcode program, the following phi node:
>
> %iftmp.225.0 = phi i8* [ getelementptr ([10 x i8]* @.str12597431,
> i32 0,
> i32 0), %bb114 ], [ getelementptr ([10 x i8]* @.str1258, i32 0, i32
> 0),
> %bb111 ], [ getelementptr ([10 x i8]* @.str1258, i32 0, i32 0),
> %bb111 ]
2007 Aug 02
0
[LLVMdev] Debug info for conditionally defined variables?
Hi,
I have this piece of code:
tm = local ? localtime(&curr) : gmtime(&curr);
if (!tm) return NULL;
which translates into something like:
----------------------------------------------
entry:
%iftmp.0 = alloca %struct.tm*, align 8
%tm = alloca %struct.tm*, align 8
...
// Declares iftmp.0 as iftmp.0
call void @llvm.dbg.declare( { }* %iftmp.0, { }* bitcast
2017 Jun 20
2
Problem with shortestPath in igraph and qgraph
hello,
I have a graph and i use qgraph package to calculate centrality parameters.
Now I want to know the maximum value of shortest path for each vertex with
discarding the Inf value in short pathes. For this I use the
ShortestPathLengths of centrality function in qgraph. but when I want to
get the maximum the result is wrong. here is my code:
cen<-centrality(Q)
2017 Jun 21
0
Problem with shortestPath in igraph and qgraph
Hard to follow data analysis without data. Try making your example reproducible [1][2][3] and post in plain text (a setting in your emailer). Read the Posting Guide mentioned in the footer to avoid other posting pitfalls.
[1] http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example
[2] http://adv-r.had.co.nz/Reproducibility.html
[3]
2013 Jan 29
3
[LLVMdev] [PATCH] parallel loop awareness to the LoopVectorizer
On Jan 29, 2013, at 12:51 AM, Tobias Grosser <tobias at grosser.es> wrote:
>
> # ignore assumed dependences.
> for (i = 0; i < 4; i++) {
> tmp1 = A[3i+1];
> tmp2 = A[3i+2];
> tmp3 = tmp1 + tmp2;
> A[3i] = tmp3;
> }
>
> Now I apply for whatever reason a partial reg2mem transformation.
>
> float tmp3[1];
>
> # ignore assumed
2004 Jul 03
2
Multiple E1s over TDMoE?
When I was trying to run mutiple E1s over TDMoE, the zaptel would
drivers complain about too little memory, whenever I added more than 31
channels. Requesting 62 channels in a dynamic span gave me
... span creation failed: Cannot allocate memory
upon loading the zaptel drivers.
How would you go about running, 8 or 16 say, E1s over TDMoE? Would you
create multiple dynamic spans or just one large
2011 May 31
0
[LLVMdev] How to identify LLVM version?
Kangkook Jee <aixer77 at gmail.com> writes:
> Hi, all
>
> I'd like to write a code that can build different codes based on LLVM version.
> Like code snippets in the below.
>
> #ifdef __LLVM_29__
> PHINode *PN = Builder.CreatePHI (Type::getDoubleTy(getGlobalContext()), 2, "iftmp");
> #elif __LLVM_28__
> PHINode *PN = Builder.CreatePHI
2007 Jan 17
1
tapply, data.frame problem
Hi R-users,
I'm quite new to R and trying to learn the basics. I have a following
problem concerning the convertion of array object into data frame. I have
made following data sets
tmp1 <- rnorm(100)
tmp2 <- gl(10,2,length=100)
tmp3 <- as.data.frame(cbind(tmp1,tmp2))
tmp3.sum <- tapply(tmp3$tmp1,tmp3$tmp2,sum)
tmp3.sum <- as.data.frame(tapply(tmp1,tmp2,sum))
and I want the
2009 Dec 07
2
outputting functions in lapply
How come the k is 3 in all of this output?
I expected it to be equal to r.
> tmp3 <- lapply(1:3, function(k) function(r) print(paste(r, "<- r | k
->", k)))
> for (i in 1:3) { tmp3[[i]](i) }
[1] "1 <- r | k -> 3"
[1] "2 <- r | k -> 3"
[1] "3 <- r | k -> 3"
--
Med venlig hilsen
Rune Schjellerup Philosof
Ph.d-stipendiat,
2013 Jan 30
0
[LLVMdev] [PATCH] parallel loop awareness to the LoopVectorizer
On 01/29/2013 07:58 PM, Nadav Rotem wrote:
>
> On Jan 29, 2013, at 12:51 AM, Tobias Grosser <tobias at grosser.es
> <mailto:tobias at grosser.es>> wrote:
>
>>
>> # ignore assumed dependences.
>> for (i = 0; i < 4; i++) {
>> tmp1 = A[3i+1];
>> tmp2 = A[3i+2];
>> tmp3 = tmp1 + tmp2;
>> A[3i] = tmp3;
>> }
>>
2008 Jul 18
2
[LLVMdev] Alignment of vectors
Consider the following C code:
typedef __attribute__(( ext_vector_type(2) )) float float2;
typedef __attribute__(( ext_vector_type(2) )) __attribute__(( aligned(4) ))
float float2_align2;
void foo(void)
{
const float * p;
size_t offset;
float2 tmp = *((float2_align2 *)(p+offset));
}
When compiled with clang emit-llvm I get:
define void @foo() {
entry:
%p = alloca float*, align 4