Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Why can not sparcv9 backend handle i64 produced by FrameIndex?"
2012 Jul 03
0
[LLVMdev] target hexagon and sparcv9 lead to llc crack
sorry,
llc -march=hexagon -mcpu=hexagonv2 test.ll -o test.s
works.
2012/7/3 Triple Yang <triple.yang at gmail.com>:
> hi,
>
> does someone notice that llc options "-march=hexagon" and
> "-march-sparcv9" do not work well under llvm 3.1?
>
> Following is a brief description:
> (1) test.c file
>
> int cmp(int i, int j) {
> return
2012 Jul 03
4
[LLVMdev] target hexagon and sparcv9 lead to llc crack
hi,
does someone notice that llc options "-march=hexagon" and
"-march-sparcv9" do not work well under llvm 3.1?
Following is a brief description:
(1) test.c file
int cmp(int i, int j) {
return (i>j)?1:0;
}
(2) test.ll file (clang -emit-llvm test.c -S -o test.ll)
; ModuleID = 'test.c'
target datalayout =
2017 Nov 02
2
Why am I getting FrameIndex:i64<0> when I have no i64's?
Here's the IR I'm trying to compile for my backend, a 16-bit CPU:
; ModuleID = 'foo.c'
source_filename = "foo.c"
target datalayout =
"E-m:e-p16:16:16-i1:16:16-i8:16:16-i16:16:16-i32:16:16-i64:16:16-S16-n16"
target triple = "tms9900"
@global_var = common global i16 0, align 2
; Function Attrs: noinline nounwind optnone
define signext i16 @dothis(i16
2011 Mar 29
1
[LLVMdev] cross compiling to sparc with llvm
Hi,
I'm trying to use llvm/clang to cross compile to sparcv9. The following
works with a -march=sparc, but yields errors for sparcv9. Are there some
other flags that need to be specified?
Thanks,
Tarun
> clang -m64 -emit-llvm test.c -c -o test.bc
> llc -march=sparcv9 test.bc -o hello.s
ExpandIntegerResult #0: 0x8a6c478: i64 = GlobalAddress<[4 x i8]* @.str> 0
[ORD=1] [ID=0]
Do
2007 Dec 04
0
[LLVMdev] Using frameindex in a pattern
On Dec 3, 2007, at 12:53 PM, Vladimir Prus wrote:
>
> Suppose I have a target that does not have register+constant
> addressing mode. Then, I have DAG like:
>
> (store ..., (frameindex))
>
> Targets like SPARC have the following patterns to catch this:
>
> def ADDRri : ComplexPattern<i32, 2,
> "SelectADDRri", [frameindex], []>;
> def STri :
2007 Dec 04
1
[LLVMdev] Using frameindex in a pattern
Evan Cheng wrote:
>
> On Dec 3, 2007, at 12:53 PM, Vladimir Prus wrote:
>
>>
>> Suppose I have a target that does not have register+constant
>> addressing mode. Then, I have DAG like:
>>
>> (store ..., (frameindex))
>>
>> Targets like SPARC have the following patterns to catch this:
>>
>> def ADDRri : ComplexPattern<i32, 2,
2009 Mar 18
2
[LLVMdev] Selecting FrameIndex
Hi All
I'm having nightmares with FrameIndexes during my backend development :(
I have ComplexPatterns defined for my two addressing modes (RR and
RI). Most of the time, FrameIndex operands appear to be on load/store
nodes, in which case everything works fine as my custom addressing
modes matchers work fine.
Unfortunately, I now have an add node which has a FrameIndex operand
(this results
2007 Dec 03
2
[LLVMdev] Using frameindex in a pattern
Suppose I have a target that does not have register+constant
addressing mode. Then, I have DAG like:
(store ..., (frameindex))
Targets like SPARC have the following patterns to catch this:
def ADDRri : ComplexPattern<i32, 2,
"SelectADDRri", [frameindex], []>;
def STri : F3_2<3, 0b000100,
(outs), (ins MEMri:$addr, IntRegs:$src),
2015 Jun 28
3
[LLVMdev] Legalizing SelectionDAGs with illegal pointer type
On 27 Jun 2015, at 16:13, escha <escha at apple.com> wrote:
>
>>
>> Hi,
>>
>> I recently started helping with the LLVM AVR backend [1]. The AVR is an 8 bit core with pointer type i16. That makes pointers illegal in the SelectionDAG. As far as I understand it, it is the backends job to legalize these nodes by using the ReplaceNodeResults/LowerOperation callbacks.
2012 Aug 31
2
[LLVMdev] How to write a regression test case?
Hi,all:
i have a question about llvm162227,recently i have a work about
cBackend,i found a the Module data is different from llvm2.9,a pass
named CBackendNameAllUsedStructsAndMergeFunctions() was removed.for
this the module data can not be translated correctly.
when i try to rewrite this pass,i found much interfaces of module have
been changed.
i write a test which contian a struct like this
2019 Jun 26
2
How to handle ISD::STORE when both operands are FrameIndex?
On Tue, Jun 25, 2019 at 9:59 AM Tim Northover <t.p.northover at gmail.com>
wrote:
> On Tue, 25 Jun 2019 at 06:26, Gleb Popov via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> >> While the store is being selected LLVM will just treat the value being
> >> stored as a generic pointer-width integer unless you have written a
> >> specific pattern for
2019 Jun 26
2
How to handle ISD::STORE when both operands are FrameIndex?
On Wed, Jun 26, 2019 at 12:38 PM Tim Northover <t.p.northover at gmail.com>
wrote:
> Hi Gleb,
>
> On Wed, 26 Jun 2019 at 07:28, Gleb Popov <6yearold at gmail.com> wrote:
> > def StoreStackF : InstRI<2, (outs), (ins IntRegs:$reg, i32imm:$i),
> > "storestackf $reg, [$i]", [(store_stack i32:$reg,
> AddrFI:$i)]>;
> >
>
2017 Sep 20
1
Store lowering -> Cannot select FrameIndex.
Hi,
I'm try to lower the store LLVM-IR instruction as per the following LLVM IR program:
*** IR Dump After Module Verifier ***
define void @storeloadi32() {
%ptr = alloca i32
store volatile i32 12, i32* %ptr
ret void
}
The target instruction is associated to the store like this:
def MOVSUTO_A_iSLr : CLPFPU_A_iSLr<0b1000001101,
2015 Jul 27
0
[LLVMdev] unable to match FrameIndex<1>
Hi there,
I have a mem address pattern basically copied from Sparc:
def ADDRri : ComplexPattern<iPTR, 2, "SelectADDRri", [frameindex],[]>
It can match FrameIndex<0> but was unable to match FrameIndex<1>. What is
the difference between the two? How to match FrameIndex<1>?
Thanks,
Xiaochu
-------------- next part --------------
An HTML attachment was scrubbed...
2012 Aug 29
0
[LLVMdev] How to write a regression test case?
aha, that's quite straightforward.
2012/8/29 Changcheng Wang <changcheng at multicorewareinc.com>:
> hi,yang:
> i had delete the temporary files,sorry to trouble you.
> it is so easy: // RUN: rm ....
>
> Regards
> changcheng
>
> On Wed, Aug 29, 2012 at 2:41 PM, Changcheng Wang
> <changcheng at multicorewareinc.com> wrote:
>> hi,yang:
>> how
2012 Aug 29
0
[LLVMdev] How to write a regression test case?
hi,yang:
i had realized the test.
thanks for your help!
yours,
changcheng
On Tue, Aug 28, 2012 at 8:58 PM, Triple Yang <triple.yang at gmail.com> wrote:
> That example is a standalone one which means you can run it without
> extra modification.
> Feel free to try it.
>
> 2012/8/28 Changcheng Wang <changcheng at multicorewareinc.com>:
>> hi,yang:
>> sorry to
2012 Aug 28
0
[LLVMdev] How to write a regression test case?
hi,yang:
thanks for your help!
my net is so poor that i can not donwload your attachment.
would you like to paste here,or send to my other email:200005275 at 163.com?
yours
changcheng
On Tue, Aug 28, 2012 at 11:43 AM, Triple Yang <triple.yang at gmail.com> wrote:
> Wang,
>
> Attachment is a simple example, you may put it in test/CodeGen, and run with
>
> llvm-lit C90
>
2012 Aug 28
0
[LLVMdev] How to write a regression test case?
hi,yang:
another question,i write a test like this:
/*****test start******/
; RUN: llc -march=c < %s | FileCheck %s
; ModuleID = 'hello.c'
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-
f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-
n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@.str = private
2019 Mar 13
2
llvm combines "ADD frameindex, constant" to OR
Hi all,
I've been working on a backend of our architecture and noticed llvm performs
following combining although one of operands is FrameIndex.
Combining: t114: i64 = add FrameIndex:i64<0>, Constant:i64<56>
Creating new node: t121: i64 = or FrameIndex:i64<0>, Constant:i64<56>
... into: t121: i64 = or FrameIndex:i64<0>, Constant:i64<56>
This
2012 Aug 29
0
[LLVMdev] How to write a regression test case?
hi,yang:
how can i remove the temporary files?
if i can remove them,all is ok!
yours:
changcheng
On Wed, Aug 29, 2012 at 2:14 PM, Changcheng Wang
<changcheng at multicorewareinc.com> wrote:
> hi,yang:
> sorry to trouble you another time,i used your example and it run
> well,but a problem came,it create severel temporary files i chaged the
> RUN: line but failed.
> i changed