Displaying 20 results from an estimated 200 matches similar to: "Testcase to show the bug in smbclient with tar,ls,mget"
2009 Jun 08
2
[LLVMdev] Tablegen question
Christian,
Thanks for your reply and the wiki entry. I did search the archives,
but evidently I didn't search for the right thing. My bad. Anyways, I
am still wondering about the other part of my question. Why aren't
there Tablegen backends specific to some architecture backends? Let me
describe a different scenario. Suppose my architecture has vector and
scalar units, and suppose I want
2009 Jun 08
0
[LLVMdev] Tablegen question
Manjunath,
I asked this question recently, but instead of telling you to search the archive
I'm going to take it as a chance to recall how to do it (because I'll do so anyway
and even telling tablegen to use an enum for instructions is not as trivial to do
as you might think : )
I wrote it up in the wiki at
http://wiki.llvm.org/HowTo:_Add_arbitrary_properties_to_instructions
Regards,
2009 Jun 06
2
[LLVMdev] Tablegen question
I want to add a set of "properties" to each instruction in my
instruction set, and want to be able to query that in my
machine-specific optimizations. My Insts.td file looks as follows :
class InstProperty;
def propX : InstProperty;
def propY : InstProperty;
def propZ : InstProperty;
class myInst<..., list<InstProperty> props> : Instruction {
...
...
2012 Jan 02
0
Migrate from Xen 4.0 to Xen 4.1
Hello.
I am using Ganeti with a cluster of 3 nodes. Two of them have Xen 4.0
and one of the has installed Xen 4.1
I have migrated a virtual machine form a node using Xen 4.0 to the one
using Xen 4.1
All the migration went just fine. Except that now, when I try to
startup the virtual machine it gives me the followin error:
Could not start instance: Hypervisor error: Failed to start instance
2019 May 06
2
RegAlloc Q: spill when implicit-def physreg is also the output reg of instruction
Hi LLVM,
I ran into a case where RegAlloc would insert a spill across instruction
that had same register for output operand and implicit-def. The effect
this had was that spill code would immediately overwrite the output
result. Is this the expected result of setting up MyInst this way? In
other words, does RegAlloc know to not insert spill in case it sees that
output reg is same as one of
2019 May 07
2
RegAlloc Q: spill when implicit-def physreg is also the output reg of instruction
Hi Quentin,
MyInst is a custom instruction that has implicit-defs of fixed
registers. The implicit-defs are seen at the end of Instruction Selection.
I'd like to add a report, but I am working on an out-of-tree backend
based on 7.0. I can try to help reduce the testcase down.
Filed https://bugs.llvm.org/show_bug.cgi?id=41790
Regards,
Kevin
On 2019-05-07 3:45 p.m., Quentin Colombet wrote:
2009 Feb 11
1
[LLVMdev] Prevent node from being combined
How can I prevent some nodes from being combined in DAGCombine.cpp?
Maybe what I want to do below doesn't follow the philosophy of LLVM, but I'd
like to know if there is any way to avoid node from being combined.
TargetLowering::PerformDAGCombine() is only called if DAGCombiner cannot
combine a specific node. It seems that there is no chance to stop it from
combining a node.
I need the
2009 Jul 10
2
[LLVMdev] Help: Instruction Pattern Matching question
Hello,
I am having some trouble matching patterns in targetinstructioninfo.td file with the CodeGen expectation. Could anybody please help?
Here is the example:
I want to emit instruction for adding 2 different kind of oprands. Basically i want to mix register types when I define the instruction for add,sub etc
I define the instruction TargetInstruction.td as follows:
class MyInst
<opcode
2013 Mar 21
1
[LLVMdev] Simpler types in TableGen isel patterns
This sounds great! I've been bitten in the past by trying to use a single
class for multiple types.
Would it make sense to extend this to all DAG patterns? If I have an
instruction def:
def ANDN64 : MyInst<(outs Reg64:$d), (ins Reg64:$a, Reg64:$b), "and.64 $d,
$a, $b", [(set Reg64:$d, (and (not (Reg64:$a, Reg64:$b))))]>;
would I now be able to write:
def ANDN64 :
2009 Jul 07
1
[LLVMdev] LLVM code target dependent generator question
Hello,
I am new to LLVM and I am not sure whether I am writing to the right distribution list or not. Please let me know if this is not the right distribution list.
Question:
- I am having hard time lowering ADD instructions for different purposes. Basically, I want to have different machine instruction for pointer addition vs scalar addition. I am having hard time mapping LLVM add to my machine
2009 Jul 07
0
[LLVMdev] LLVM code target dependent generator question
Hello,
I am new to LLVM and I am not sure whether I am writing to the right distribution list or not. Please let me know if this is not the right distribution list.
Question:
- I am having hard time lowering ADD instructions for different purposes. Basically, I want to have different machine instruction for pointer addition vs scalar addition. I am having hard time mapping LLVM add to my machine
2009 Apr 20
2
[LLVMdev] A few questions from a newbie
Hi Jacob, thank you for your reply.
Your suggestion works! But instead of using the Pat<>, I am using
def MOVE_ADDR : MYInst<(outs Int32Regs:$dst), (ins i32mem:$a),
"move $dst, $a;",
[(set Int32Regs:$dst, (Wrapper tglobaladdr:$a))]>;
I don't quite understand what the semantics of Pat in general. Could you
please explain what
2012 May 09
2
[LLVMdev] instructions requiring specific physical registers for operands
On May 9, 2012, at 4:27 AM, Anton Korobeynikov wrote:
> Hello Jonas,
>
>> I wonder, what would be the best solution for instructions that require
>> operands in a particular register, and even gives the result in a particular
>> register?
> You need to custom select such instruction. See e.g. div / idiv on x86
> as an example.
That's often easiest, yes;
2012 May 09
0
[LLVMdev] instructions requiring specific physical registers for operands
Jim,
> The an instruction that uses R0 and R1 as fixed input registers and R2 for output could define itself using those register classs:
> def myInst : baseclass<…, (outs GPRr2:$dst), (ins GPRr0:$src1, GPRr1:$src2), …>
> Use those reg classes in pattern to match also, and things should just work. The register allocator can take care of any reg-to-reg copies that are required.
As
2009 Jun 09
2
[LLVMdev] Tablegen question
> All of the tablegen backends work this way. As you mentioned,
> there are no target-specific tablegen backends at present.
>
> The underlying observation here is that features are never
> fundamentally "specific for a target". For example, a mapping
> between vector opcodes and associated scalar opcodes could
> reasonably be made on many architectures. Even
>
2007 Apr 18
2
[LLVMdev] CodeEmitterGen
On Apr 18, 2007, at 2:07 PM, Evan Cheng wrote:
>
> On Apr 18, 2007, at 11:25 AM, Christopher Lamb wrote:
>
>> I noticed that the TableGen code emitter generator assumes that
>> the instruction fields are declared in the instruction format in
>> the same order that operands are defined. This seems like a bad
>> dependence to me, and that TableGen should match
2009 Dec 23
0
[LLVMdev] getting error while running tblgen
Hi,
I am trying to build a new backend target. First I wanted to start with just one intrinsic function. So I followed (I think I did) the
guidelines about doing. For some reason I am getting this error message from the tblgen:
"In SU_routeInstr: Type inference contradiction found in node imm!"
Here is my
def Imm8Arg: Operand<i8> {
let
2009 Jun 12
0
[LLVMdev] Tablegen question
On Jun 9, 2009, at 1:16 PM, Manjunath Kudlur wrote:
>> All of the tablegen backends work this way. As you mentioned,
>>
>> there are no target-specific tablegen backends at present.
>>
>>
>>
>> The underlying observation here is that features are never
>>
>> fundamentally "specific for a target". For example, a mapping
>>
2019 Dec 11
2
Glue two instructions together
You could hardcode a register for the pseudo instruction to use in the td file.
The register allocator will make sure not to clobber it.
let uses = [ R1 ], defs = [ R1 ] in {
def MYINST : Pseudo<>
}
On Wed, Dec 11, 2019 at 10:25 AM Przemyslaw Ossowski via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> I have one more question regarding expanding pseudo instruction.
>
>
2009 Feb 13
0
[LLVMdev] Modeling GPU vector registers, again (with my implementation)
On Feb 13, 2009, at 9:47 AM, Alex wrote:
> It seems to me that LLVM sub-register is not for the following
> hardware architecture.
>
> All instructions of a hardware are vector instructions. All
> registers contains
> 4 32-bit FP sub-registers. They are called r0.x, r0.y, r0.z, r0.w.
>
> Most instructions write more than one elements in this way:
>
> mul