Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] What pattern of front end language can be tranalated into"
2013 Apr 15
1
[LLVMdev] What is the front end pattern?
I find this pattern as below from <llvm-source-tree>/test/CodeGen/Mips/alloca.ll.
Do you know what front end pattern can be translated into this pattern alloca with variable argument %size as below?
Can some one help me? I am writing the llvm backend document --http://jonathan2251.github.com/lbd/index.html now.
%tmp1 = alloca i8, i32 %size, align 4 // has %size variable, not pattern,
2006 Sep 23
2
Create a vector of indices from a matrix of start and end points
I have a very large dataframe and wish to extract a subset of rows. I
have a two column matrix listing the starting and ending indices of
one subset on each row. My idea is to create a vector of indices that
could be applied to the dataframe and I have a solution using a for
loop (below). But surely there is some more elegant way to do this! I
looked thorough the archives without
2006 Sep 07
2
[LLVMdev] Can a name in LLVM assembly language hold two types of value at the same time
I am trying to symbolically execute LLVM assembly language. I found a
possible
semantic inconsistancy of the LLVM assembly language, or maybe my
understanding
is wrong.
The C code is:
#include <stdlib.h>
1 int f(void)
2 {
3 int a;
4 int *b = (int *) malloc(3*sizeof(int));
5 a = 3;
6 return 0;
7 }
I compile it with llvm-gcc 4 front end. The generated
2009 Dec 22
2
[LLVMdev] LegalizeDAG Error?
The LegalizeDAG.cpp file has this code in SelectionDAGLegalize::PromoteNode:
case ISD::BSWAP: {
unsigned DiffBits = NVT.getSizeInBits() - OVT.getSizeInBits();
Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Tmp1);
Tmp1 = DAG.getNode(ISD::BSWAP, dl, NVT, Tmp1);
Tmp1 = DAG.getNode(ISD::SRL, dl, NVT, Tmp1,
DAG.getConstant(DiffBits, TLI.getShiftAmountTy()));
2009 Dec 22
0
[LLVMdev] LegalizeDAG Error?
On Dec 22, 2009, at 2:38 PMPST, Bill Wendling wrote:
> The LegalizeDAG.cpp file has this code in
> SelectionDAGLegalize::PromoteNode:
>
> case ISD::BSWAP: {
> unsigned DiffBits = NVT.getSizeInBits() - OVT.getSizeInBits();
> Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Tmp1);
> Tmp1 = DAG.getNode(ISD::BSWAP, dl, NVT, Tmp1);
> Tmp1 = DAG.getNode(ISD::SRL, dl,
2006 Mar 06
1
Sort problem in merge()
Hello!
I am merging two datasets and I have encountered a problem with sort.
Can someone please point me to my error. Here is the example.
## I have dataframes, first one with factor and second one with factor
## and integer
> tmp1 <- data.frame(col1 = factor(c("A", "A", "C", "C", "0", "0")))
> tmp2 <- data.frame(col1 =
2017 Oct 30
1
An iterative function
Dear all,
The function f() below is a function of m1 and m2, both of which are
matrices with 3 rows. The function works sequentially one row after
another.
So altogether there are three stages. I am trying to update the coding to
write a generic function that will work for arbitrary k stages.
I am hoping to get some suggestion and help. Thanks so much!
Hanna
##x, y are two
2008 Nov 11
4
[LLVMdev] Invalid comparison instruction generation
Eli,
Using the variables from the original IR,
assuming tmp == tmp1 and assume the value is not nan
ogt(tmp, tmp1) is !isnan(tmp) && !isnan(tmp1) && tmp > tmp1, or false
ule(tmp, tmp1) is isnan(tmp) || isnan(tmp1) || tmp <= tmp1, or true
So, this is invalid, or am I misunderstanding what ogt and ule stand
for?
Assuming this is valid, why convert comparison instructions
2009 Mar 19
3
[LLVMdev] Proposal to disable some of DAG combine optimizations
Some of the optimizations that the first DAG combine performs is counter
productive for our 8-bit target. For example in:
// I dropped the types because they are irrelevant.
// Excuse me for changing the syntax...
store %tmp1, %var
%tmp2 = load %var
%tmp4 = add %tmp3, %tmp2
Since load is the only user of var and since var has just be stored to,
it assumes that %tmp1 is alive and it goes ahead
2010 Mar 19
3
strange behavior, adds new field by non-existent field
data:
> tmp1
Date HrMn Temp Q.4
1 19450101 0900 -37.0 1
2 19450101 1000 -35.9 2
3 19450101 1100 -35.9 3
4 19450101 1200 -36.4 4
5 19450101 1300 -36.4 5
6 19450101 1400 -36.4 6
7 19450101 1500 -36.4 7
8 19450101 1600 -37.5 9
Accidentally, I did this (I meant to write Q.4 instead of Q here)
> tmp1$Q[tmp1$Q!="1" & tmp1$Q!= "5"]<-NA
I would
2009 Jun 25
2
[LLVMdev] bitwise AND selector node not commutative?
Using the Thumb-2 target we see that ORN ( a | ^b) and BIC (a & ^b)
have similar patterns, as we would expect:
defm t2BIC : T2I_bin_irs<"bic", BinOpFrag<(and node:$LHS, (not node:
$RHS))>>;
defm t2ORN : T2I_bin_irs<"orn", BinOpFrag<(or node:$LHS, (not node:
$RHS))>>;
Compiling the following three works as expected:
%tmp1 = xor i32
2008 Nov 11
0
[LLVMdev] Invalid comparison instruction generation
On Mon, Nov 10, 2008 at 5:00 PM, Villmow, Micah <Micah.Villmow at amd.com> wrote:
> Eli,
> Using the variables from the original IR,
> assuming tmp == tmp1 and assume the value is not nan
> ogt(tmp, tmp1) is !isnan(tmp) && !isnan(tmp1) && tmp > tmp1, or false
> ule(tmp, tmp1) is isnan(tmp) || isnan(tmp1) || tmp <= tmp1, or true
Correct; in fact, ogt and
2012 Jun 01
2
[LLVMdev] legalization of truncating stores in LegalizeDAG.cpp
In LegalizeDAG.cpp, truncating stores are custom-lowered in line 1314-1317:
1314 case TargetLowering::Custom:
1315 ReplaceNode(SDValue(Node, 0),
1316 TLI.LowerOperation(SDValue(Node, 0), DAG));
1317 break;
Is there a reason it doesn't check whether the SDValue returned from
TargetLowering::LowerOperation is null before it replaces the
2014 Mar 03
3
Re: method for communication between containers
Dear Daniel,
Thank you for your email.
According to your suggestion, I tried to use the shared memory filesystem for data exchange between the host machine and the container. The steps are as follows:
1) create an empty file in the host machine (/tmp1/file1).
2) run #chmod 777 /tmp1 and #chmod 777 /tmp1/file1.
3) expose /tmp1 to the container by configuring the container with the following XML
2009 Jun 26
0
[LLVMdev] bitwise AND selector node not commutative?
On Jun 25, 2009, at 4:38 PM, David Goodwin wrote:
> Using the Thumb-2 target we see that ORN ( a | ^b) and BIC (a & ^b)
> have similar patterns, as we would expect:
>
> defm t2BIC : T2I_bin_irs<"bic", BinOpFrag<(and node:$LHS, (not node:
> $RHS))>>;
> defm t2ORN : T2I_bin_irs<"orn", BinOpFrag<(or node:$LHS, (not node:
>
2008 Jul 04
0
[LLVMdev] Problems expanding fcmp to a libcall
On Jul 3, 2008, at 3:07 PM, Richard Osborne wrote:
>>
>> This seems to break the convention. It should be the responsibility
>> of the caller to further legalize the results.
>>
>> Evan
> That makes sense. In that case I believe
> SelectionDAGLegalize::LegalizeSetCCOperands
> should be legalizing the result. The description of this function
> says
2008 Jul 04
1
[LLVMdev] Problems expanding fcmp to a libcall
Evan Cheng wrote:
> On Jul 3, 2008, at 3:07 PM, Richard Osborne wrote:
>
>>> This seems to break the convention. It should be the responsibility
>>> of the caller to further legalize the results.
>>>
>>> Evan
>>>
>> That makes sense. In that case I believe
>> SelectionDAGLegalize::LegalizeSetCCOperands
>> should be
2008 Aug 20
1
Understanding output of summary(glm(...))
Simple example of 5 groups of 4 replicates.
>set.seed(5)
>tmp <- rnorm(20)
>gp <- as.factor(rep(1:5,each=4))
>summary(glm(tmp ~ -1 + gp, data=data.frame(tmp, gp)))$coefficients Estimate Std. Error t value Pr(>|t|)gp1 -0.1604613084 0.4899868 -0.3274809061 0.7478301gp2 0.0002487984 0.4899868 0.0005077655 0.9996016gp3 0.0695463698 0.4899868
2009 Mar 24
0
[LLVMdev] Proposal to disable some of DAG combine optimizations
The code sequence:
> store %tmp1, var
> > tmp4 = add %tmp3 , %tmp1
>
can happen even if you eliminate the specific dag combine in question.
The real solution lies elsewhere. To me, this seems more like a
register allocation problem.
Evan
On Mar 22, 2009, at 9:39 PM, Alireza.Moshtaghi at microchip.com wrote:
> I can't think of any workaround? this optimization eliminates
2007 Jun 27
1
[LLVMdev] Question about Alias Analysis
Thanks, that's a lot more like the output I was expecting. But, I'm
now wondering if I'm doing something wrong because the output confuses
me.
When run on the program:
int main() {
int a = 5;
int* b = &a;
int* c = &a;
return *b;
}
I would expect to see either b may alias c or b must alias c. But, it
doesn't even appear in the list. Furthermore, I would expect