Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] New tblgen feature"
2006 Oct 02
0
[LLVMdev] Instruction descriptions question
On Sun, 1 Oct 2006, Roman Levenstein wrote:
> I'm trying to implement a new backend for an embedded CISC processor.
> Therefore I thought that it makes sense to take X86 target as a basis,
> to save some time.
Ok. Note that the X86 backend is one of the most complex though, because
it supports several subtargets and ABIs, which makes it more complex than
some other targets.
>
2006 Oct 02
2
[LLVMdev] Instruction descriptions question
Hi Chris,
Thanks a lot for your answer!
Chris Lattner wrote:
>> 1. Why does X86 instruction set description provide different
>> descriptions for the same instructions, which differ only in the
size
>> of operands?
>> E.g.
>>
>> def MOV8rm : I<0x8A, MRMSrcMem, (ops GR8 :$dst, i8mem :$src),
>> "mov{b} {$src, $dst|$dst, $src}",
2012 Aug 06
0
[LLVMdev] Tablegen foreach
I believe multiclasses can be nested. Could that help you reduce the
duplication?
--Sean Silva
On Mon, Aug 6, 2012 at 2:46 PM, Villmow, Micah <Micah.Villmow at amd.com> wrote:
> That is what I currently have, I'm trying to simplify them even further since my multiclass file is enormous because of the amount of combinations. I have things like this:
>
> multiclass
2012 Aug 06
2
[LLVMdev] Tablegen foreach
That is what I currently have, I'm trying to simplify them even further since my multiclass file is enormous because of the amount of combinations. I have things like this:
multiclass instmcRegImm<...> {
def rr: inst<...>;
def ri: inst<...>;
def ir: inst<...>;
def ii: inst<...>;
}
multiclass instmc<...> {
defm i8 : instmcRegImm<...>;
^-- repeat for 15
2012 May 23
1
[LLVMdev] tblgen for generation of Haskell bindings to LLVM intrinsics
I want to generate Haskell bindings to LLVM intrinsics. In a first attempt I
wrote a little parser that reads IntrinsicsX86.td and outputs a Haskell module.
E.g. the definition
def int_x86_avx_max_ps_256 : GCCBuiltin<"__builtin_ia32_maxps256">,
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty,
llvm_v8f32_ty], [IntrNoMem]>;
is turned into
2012 Aug 06
0
[LLVMdev] Tablegen foreach
I think a multiclass may be a better fit for what you are trying to
do. In fact, this is the canonical example for multiclasses:
<http://llvm.org/docs/TableGenFundamentals.html#multiclass-definitions-and-instances>.
--Sean Silva
On Mon, Aug 6, 2012 at 1:55 PM, Villmow, Micah <Micah.Villmow at amd.com> wrote:
> I’m trying to find examples of the foreach pattern being used in
2012 Aug 21
0
[LLVMdev] Let's get rid of neverHasSideEffects
On Aug 21, 2012, at 3:45 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>> I don't understand what you're saying. Are you proposing that all properties (may load, store, side effects) be explicitly added to all instructions, and the pattern only be used to produce warnings?
>
> Yes.
>
> The side effect inference is worse than the load/store inference, but
2011 Oct 08
3
[LLVMdev] Enhancing TableGen
Hi Jakob and David,
The for-loop inside multiclass definition does not have to add extra
abstraction layer. As in the pseudo codes that David wrote earlier
(see below), it only condenses the repetitive 'def' statements inside
the multiclass definition into a more compact and less copy-paste
style form, instead of encapsulating them somewhere outside the
multiclass definition. I believe
2010 Dec 13
0
[LLVMdev] tblgen internals
Concerning the RecordKeeper reference in Record. Would you prefer to partially go
back to a more limited constrained version of a global. Since we are not threaded anyway,
we could turn the reference into a singleton for the duration of an initial parse and use session.
The concept would be to instead make the reference a static pointer, make RecordKeeper
a friend of Record, and add
2012 Aug 16
2
[LLVMdev] TableGen related question for the Hexagon backend
Hi Everyone,
After some more thoughts to the Jacob's suggestion of using multiclasses for
Opcode mapping, this is what I have come up with. Please take a look at the
design below and let me know if you have any suggestions/questions.
I have tried to keep the design target independent so that other targets
could benefit from it.
1) The idea is to add 3 new classes into
2006 Oct 09
0
[LLVMdev] tblgen multiclasses
Hi Chris,
Thanks for this info. This provides even better and more advanced
examples of multiclass usage!
But your previous explanations were so good that I implemented in my
backend last week almost the same that you've done now in the
X86InstrSSE.td. I even introduced isCommutable parameter to indicate
this property, just as you did. So, by now integer arithmetic and
general purpose
2010 Dec 13
4
[LLVMdev] tblgen internals
Hi Chris,
Thanks for the review!
I believe I caught most of the syntax style issues with the attached patch. It only contains
these style changes.
On Dec 12, 2010, at 19:30, Chris Lattner wrote:
>
> On Dec 12, 2010, at 10:54 AM, Garrison Venn wrote:
>
>>
>> Hey Chris,
>>
>> The following patch removes all global references to a RecordKeeper instance for the
2012 Jan 20
1
[LLVMdev] TableGen Crash
Hi LLVMers,
I found a bug in TGParser that is causing llvm-tblgen to crash on bad
input. The reduced testcase is attached. The output follows:
$ ./llvm-tblgen --version
Low Level Virtual Machine (http://llvm.org/):
LLVM version 3.1svn
DEBUG build with assertions.
Built Jan 20 2012 (15:46:08).
Default target: x86_64-apple-darwin11.2.0
Host CPU: penryn
$ ./llvm-tblgen bug.td
0
2012 Aug 21
3
[LLVMdev] Let's get rid of neverHasSideEffects
On Aug 21, 2012, at 3:02 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On Aug 21, 2012, at 2:02 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote:
>
>> All,
>>
>> TableGen likes to infer the MCID::UnmodeledSideEffects flag from an instruction's pattern. When an instruction doesn't have a pattern, it is assumed to have side effects.
>
2005 May 06
0
[LLVMdev] initialize 'dag' variable and interpret asmstring in tablegen .td file
On Fri, 6 May 2005, Tzu-Chien Chiu wrote:
> llvm/lib/Target/X86/X86InstrInfo.td:
> class X86Inst<bits<8> opcod, Format f, ImmType i, dag ops, string
> AsmStr> : Instruction {
> ....
> dag OperandList = ops;
> string AsmString = AsmStr;
> }
>
> def MOV32mi : Ii32<0xC7, MRM0m, (ops i32mem:$dst, i32imm:$src),
> "mov{l}
2010 Dec 13
0
[LLVMdev] tblgen internals
The attached patch removes Record::createRecord(...) and its uses from trunk, and includes
previous code style fixes.
On Dec 12, 2010, at 21:52, Garrison Venn wrote:
> ...
>
>>
>> Another random question: why is createRecord better than using "new Record"? If createRecord is better, it would be good to make the Record ctor private so the code doesn't evolve
2006 Oct 02
0
[LLVMdev] Instruction descriptions question
On Mon, 2 Oct 2006, Roman Levenstein wrote:
>>> Wouldn't it be possible and even more clean to have just one
>>> description like (I use a pseudo-description here):
>>>
>>> def MOVrr : I<0x88, MRMDestReg, (ops (GR8|GR16|GR32) :$dst,
>>> (i8mem|i16mem|i32mem):$src),
>>> "mov{b} {$src, $dst|$dst, $src}", []>,
2005 May 06
1
[LLVMdev] initialize 'dag' variable and interpret asmstring in tablegen .td file
The macro $src, $dest used in Instruction::AsmString must be
"declared" in Instruction::OperandList, right?
$$ has special meaning?
On 5/6/05, Chris Lattner <sabre at nondot.org> wrote:
> On Fri, 6 May 2005, Tzu-Chien Chiu wrote:
> > llvm/lib/Target/X86/X86InstrInfo.td:
> > class X86Inst<bits<8> opcod, Format f, ImmType i, dag ops, string
> >
2009 May 01
0
[LLVMdev] RFC: AVX Pattern Specification [LONG]
On Apr 30, 2009, at 3:59 PM, David Greene wrote:
> Here's the big RFC.
>
> A I've gone through and designed patterns for AVX, I quickly
> realized that the
> existing SSE pattern specification, while functional, is less than
> ideal in
> terms of maintenance. In particular, a number of nearly-identical
> patterns
> are specified all over for
2013 Oct 01
0
[LLVMdev] Tblgen and computed expressions
Thanks again Elior,
Yes, I tried using '!if', etc. but I just get type mismatches for the
initializer (int) - probably something daft I'm doing :-(
MartinO
-----Original Message-----
From: Malul, Elior [mailto:elior.malul at intel.com]
Sent: 29 September 2013 09:19
To: Martin.ORiordan at movidius.com; llvmdev at cs.uiuc.edu
Subject: RE: [LLVMdev] Tblgen and computed expressions