Displaying 16 results from an estimated 16 matches for "matarazzo".
2013 May 31
2
[LLVMdev] Register coalescer and reg_sequence (virtual super-regs)
...end of last year.
Some time ago. Does your reply intimate it's fixed on trunk? That would be
great. (I don't sync too often to avoid churn with my TD.)
Joe
On Fri, May 31, 2013 at 4:21 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
> On May 31, 2013, at 4:07 PM, Joe Matarazzo <joe.matarazzo at gmail.com>
> wrote:
>
> > The register coalescer treats virtual super register classes -- a
> sequential register range composed of multiple hardware registers -- as a
> register with sub registers. When making coalescing decisions it thinks
> that the v...
2013 Jun 01
0
[LLVMdev] Register coalescer and reg_sequence (virtual super-regs)
On May 31, 2013, at 4:59 PM, Joe Matarazzo <joe.matarazzo at gmail.com> wrote:
> I think the last time I pulled from trunk was probably end of last year. Some time ago. Does your reply intimate it's fixed on trunk?
Yes, it’s been fixed recently.
/jakob
2013 May 31
0
[LLVMdev] Register coalescer and reg_sequence (virtual super-regs)
On May 31, 2013, at 4:07 PM, Joe Matarazzo <joe.matarazzo at gmail.com> wrote:
> The register coalescer treats virtual super register classes -- a sequential register range composed of multiple hardware registers -- as a register with sub registers. When making coalescing decisions it thinks that the virtual super reg interferes w...
2013 May 31
2
[LLVMdev] Register coalescer and reg_sequence (virtual super-regs)
The register coalescer treats virtual super register classes -- a
sequential register range composed of multiple hardware registers -- as a
register with sub registers. When making coalescing decisions it thinks
that the virtual super reg interferes with sub reg instances, even though
in reality they shouldn't conflict. That is, they are individual registers
and would be better compared as
2013 Jun 19
1
[LLVMdev] Register coalescer and reg_sequence (virtual super-regs)
...STM would be similar, but the registers are
physically enumerated, which is different from these virtual super reg
frames I'm trying to construct.
Thanks,
Joe
On Fri, May 31, 2013 at 5:00 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
> On May 31, 2013, at 4:59 PM, Joe Matarazzo <joe.matarazzo at gmail.com>
> wrote:
>
> > I think the last time I pulled from trunk was probably end of last year.
> Some time ago. Does your reply intimate it's fixed on trunk?
>
> Yes, it’s been fixed recently.
>
> /jakob
>
>
-------------- next part -...
2013 Jan 31
2
[LLVMdev] Tablegen problem populating TSFlags
Jakob, I think this exactly what's happening. I debugged the
resolveReferences for the ADD down into the resolve of TSFlags. It
calls VarInit::getFieldInit for the "Val" field of "foo". The code is:
Init *VarInit::getFieldInit(Record &R, const RecordVal *RV,
const std::string &FieldName) const {
if (isa<RecordRecTy>(getType()))
2012 Mar 08
1
[LLVMdev] Register coalescing
Need some guidance about the right way to model this -- how would you model
a backend with a handful of read-only physical registers that are passed as
arguments to a function? I was emitting copyFromReg nodes in the
LowerFormalArgument() routine, but then the register allocator and
coalescer are resisting coalescing the COPY MI's for various reasons - for
example, the read-only register class
2013 Feb 02
0
[LLVMdev] OperandWithDefaultOps question
On Fri, Feb 01, 2013 at 04:58:29PM -0800, Joe Matarazzo wrote:
> Is it possible to use this operand class in an instruction that has a
> pattern defined? If so, can you write it with anything besides a
> ComplexPattern in the instruction's pattern DAG, to set it to a value?
> Can you refer to it at all? Or would it be added to the Machin...
2013 Jun 05
1
[LLVMdev] TableGen lookup table recipe?
Is it possible to define lookup tables as a list in tablegen, to map one
value to another? Here's the template I was working on:
=========================================
class LookupTable {
list<int> mapping = [0, 8, 16, 24, 32];
}
def LUT : LookupTable;
class MyRegister<name, index> : Register<name> {
let HWEncoding = LUT.mapping[index];
int otherVal = index;
2013 Feb 02
2
[LLVMdev] OperandWithDefaultOps question
Is it possible to use this operand class in an instruction that has a
pattern defined? If so, can you write it with anything besides a
ComplexPattern in the instruction's pattern DAG, to set it to a value?
Can you refer to it at all? Or would it be added to the MachineInstr
with the default value such that you could modify it later in the
backend?
If there is a non-ComplexPattern way to write
2012 Feb 10
1
[LLVMdev] Prevent DAG combiner from changing "store ConstFP, addr" to integer store
This code lives in DAGCombiner.cpp:
-------------
// Turn 'store float 1.0, Ptr' -> 'store int 0x12345678, Ptr'
if (ConstantFPSDNode *CFP = dyn_cast<ConstantFPSDNode>(Value)) {
// NOTE: If the original store is volatile, this transform must not
increase
// the number of stores. For example, on x86-32 an f64 can be stored
in one
// processor operation but
2012 May 11
0
[LLVMdev] TableGen pattern for negated operand
Hi Joe,
Le 11/05/2012 02:13, Joe Matarazzo a écrit :
> I've been unable to come up with the TableGen recipe to match a
> negated operand. My target asm syntax allows the following transform:
>
> FNEG r8, r5
> MUL r6, r8, r9
>
> to
>
> MUL r6, -r5, r9
>
> Is there a Pattern<> syntax t...
2012 May 11
2
[LLVMdev] TableGen pattern for negated operand
I've been unable to come up with the TableGen recipe to match a
negated operand. My target asm syntax allows the following transform:
FNEG r8, r5
MUL r6, r8, r9
to
MUL r6, -r5, r9
Is there a Pattern<> syntax that would allow matching *any* opcode (or
even some subset), not just MUL, with a FNEG'd operand? I expect I can
define a PatFrag:
def fneg_su : PatFrag<(ops
2011 Nov 09
1
[LLVMdev] AsmPrinter vs. MCAsmStreamer
I'm writing a backend using a mid-October svn snapshot of LLVM. I'm having
a hard time figuring out the relationship between my XXXAsmPrinter and
MCAsmStreamer. Can someone explain what each is responsible for? Looking at
the existing targets, the XXXAsmPrinter implementations seem to implement
both the legacy "create a .s file" behavior, using
printInstruction/printOperand/etc
2013 Mar 16
0
[LLVMdev] Expand action on FSUB with vector types causes both "Vector Unroll" and "Add+Negate"
In my target, I have
setOperationAction(ISD::FSUB, MVT::v4f32, Expand);
This produces the desired effect in LegalizeDAG, replacing the FSUB with
FADD + FNEG. However, when the vector legalizer runs, it thinks the Expand
legalize action means to unroll the vector. This isn't necessary and not
what I wanted.
Is there a way to get one and not the other? I don't want the unroll aspect
of
2013 Jan 31
2
[LLVMdev] Tablegen problem populating TSFlags
It seems like this code should work with Tablegen, but it generates the error:
"error:Invalid TSFlags bit in ADD"
Here's the code:
===================================
include "llvm/Target/Target.td"
def MyInstrInfo : InstrInfo;
def MyTarget : Target {
// Information about the instructions...
let InstructionSet = MyInstrInfo;
}
def r1 :