Displaying 20 results from an estimated 30 matches for "indexregs".
2009 Jul 27
3
[LLVMdev] [Cygwin] error building llvm-gcc - X86ATTAsmPrinter error in libstdc++
I am now getting an X86ATTAsmPrinter error in compiling libstdc++-v3 right
near the end of compiling llvm-gcc in valarray-inst.cc.
assertion "IndexReg.getReg() != X86::ESP && "X86 doesn't allow scaling
by ESP"
Does this build on Linux ?
My remote Linux box has died and not a ble to reset it for a day or two.
/home/ang/build/llvm-gcc/./gcc/xgcc -shared-libgcc
2015 Jul 30
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...uld get something like this:
mov @a, %b1 // moving this immediate to a base register, which is what we
want
In 3.6, we now get this:
mov @a, %r0 // r0 = gpr
mov %r0, %b1 // b1 = base reg
The register class looks like this:
def ARegs : RegisterClass<"us", [i16], i16, (add GPRRegs, IndexRegs,
BaseRegs)>;
I have absolutely no idea why this is not matching any longer?
The fix here is to define an MI with explicit single register class (ie it
only allows PTRRegs as the destination).
This must be an issue with something else and not the tablegen but if that
was the case I'm not s...
2009 Jul 27
0
[LLVMdev] [Cygwin] error building llvm-gcc - X86ATTAsmPrinter error in libstdc++
This looks like pr4572.
Evan
On Jul 27, 2009, at 3:25 AM, Aaron Gray wrote:
> I am now getting an X86ATTAsmPrinter error in compiling libstdc++-v3
> right near the end of compiling llvm-gcc in valarray-inst.cc.
>
> assertion "IndexReg.getReg() != X86::ESP && "X86 doesn't allow
> scaling by ESP"
>
> Does this build on Linux ?
>
> My
2009 Dec 18
2
[LLVMdev] [PATCH] dbgs() Use
Here's an example patch of how dbgs() will be used. Essentially I will
replace uses of errs() with dbgs(). I believe this is the correct thing
to do because:
- With #define NDEBUG, dbgs() == errs()
- With debugging and -debug-buffer-size=0 (the default), dbgs() just
passes output to errs().
- When -debug-buffer-size>0, you want to buffer ALL output so that you
don't get some
2020 Mar 12
3
Getting up to speed with llvm backends. Machine Instruction operands.
Welcome to all
Questions from veteran programmer with no LLVM backend experience evaluating
llvm for creating a Hitachi 6309 backend.
This post is about finding out more about machine instruction operands.
The documentation I have read so far includes:
- the online manuals
- Building an LLVM Backend. Fraser Cormack Pierre-André Saulais
- The Design of a Custom 32-bit RISC CPU
2015 Jul 31
4
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...h is what
> we want
> >
> > In 3.6, we now get this:
> >
> > mov @a, %r0 // r0 = gpr
> > mov %r0, %b1 // b1 = base reg
> >
> > The register class looks like this:
> >
> > def ARegs : RegisterClass<"us", [i16], i16, (add GPRRegs, IndexRegs,
> BaseRegs)>;
> >
> > I have absolutely no idea why this is not matching any longer?
> >
> > The fix here is to define an MI with explicit single register class (ie
> it only allows PTRRegs as the destination).
> >
> > This must be an issue with somethi...
2013 Dec 12
3
[LLVMdev] [RFC PATCH 1/2] x86: Fix ModR/M byte output in 16-bit addressing mode
This attempts to address http://llvm.org/bugs/show_bug.cgi?id=18220
It also fixes a test which was requiring the *wrong* output.
I'm relatively happy with this part, and it even solves most of the hard
part of feature request for .code16 in bug 8684 — which was actually why
I started prodding at this. But I could do with some help with the
16-bit signed relocation handling, which I've
2015 Jul 31
0
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...moving this immediate to a base register, which is what we want
>
> In 3.6, we now get this:
>
> mov @a, %r0 // r0 = gpr
> mov %r0, %b1 // b1 = base reg
>
> The register class looks like this:
>
> def ARegs : RegisterClass<"us", [i16], i16, (add GPRRegs, IndexRegs, BaseRegs)>;
>
> I have absolutely no idea why this is not matching any longer?
>
> The fix here is to define an MI with explicit single register class (ie it only allows PTRRegs as the destination).
>
> This must be an issue with something else and not the tablegen but if t...
2013 Dec 16
0
[LLVMdev] [RFC PATCH 1/2] x86: Fix ModR/M byte output in 16-bit addressing mode
Hi David,
I'm catching up on email at the moment so I don't know if you've done this,
but patches should go to llvm-commits for review if you wouldn't mind.
Thanks!
-eric
On Thu Dec 12 2013 at 8:39:19 AM, David Woodhouse <dwmw2 at infradead.org>
wrote:
> This attempts to address http://llvm.org/bugs/show_bug.cgi?id=18220
> It also fixes a test which was requiring
2018 Jun 26
2
MachineFunction Instructions Pass using Segment Registers
This shouldn't have parsed.
movq (%gs), %r14
That's trying to use%gs as a base register which isn't valid. GNU assembler
rejects it. And coincidentally llvm-mc started rejecting it on trunk late
last week. That's probably why it printed as %ebp.
I don't know if there is an instruction to read the base of %gs directly.
Maybe rdgsbase, but that's only available on Ivy
2015 Aug 19
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...w get this:
>>> >
>>> > mov @a, %r0 // r0 = gpr
>>> > mov %r0, %b1 // b1 = base reg
>>> >
>>> > The register class looks like this:
>>> >
>>> > def ARegs : RegisterClass<"us", [i16], i16, (add GPRRegs, IndexRegs,
>>> BaseRegs)>;
>>> >
>>> > I have absolutely no idea why this is not matching any longer?
>>> >
>>> > The fix here is to define an MI with explicit single register class
>>> (ie it only allows PTRRegs as the destination).
>&g...
2018 Jun 24
2
MachineFunction Instructions Pass using Segment Registers
The size suffix thing is a weird quirk in our assembler I should look into
fixing. Instructions in at&t syntax usually have a size suffix that is
often optional
For example:
add %ax, %bx
and
addw %ax, %bx
Are equivalent because the register name indicates the size.
but for an instruction like this
addw $1, (%ax)
There is nothing to infer the size from so an explicit suffix is
2015 Aug 19
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...>
>>>> > mov @a, %r0 // r0 = gpr
>>>> > mov %r0, %b1 // b1 = base reg
>>>> >
>>>> > The register class looks like this:
>>>> >
>>>> > def ARegs : RegisterClass<"us", [i16], i16, (add GPRRegs, IndexRegs,
>>>> BaseRegs)>;
>>>> >
>>>> > I have absolutely no idea why this is not matching any longer?
>>>> >
>>>> > The fix here is to define an MI with explicit single register class
>>>> (ie it only allows PTRRegs as...
2018 Jan 18
1
LEAQ instruction path
Hi,
I've been trying to teach LLVM that pointers are 128-bit long, which
segfaults with some seemingly unrelated stacktrace when I try to take an
address of a variable. Since stack saving and loading seems to work fine, I
dare to assume the instruction causing problems there is leaq. Now I've
done a search for leaq of the entire LLVM codebase with no success and I'd
like to know which
2015 Aug 19
3
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...t; > mov @a, %r0 // r0 = gpr
>>>>> > mov %r0, %b1 // b1 = base reg
>>>>> >
>>>>> > The register class looks like this:
>>>>> >
>>>>> > def ARegs : RegisterClass<"us", [i16], i16, (add GPRRegs, IndexRegs,
>>>>> BaseRegs)>;
>>>>> >
>>>>> > I have absolutely no idea why this is not matching any longer?
>>>>> >
>>>>> > The fix here is to define an MI with explicit single register class
>>>>> (ie it...
2008 Apr 16
0
[LLVMdev] Being able to know the jitted code-size before emitting
Comments below.
On Apr 15, 2008, at 4:24 AM, Nicolas Geoffray wrote:
> OK, here's a new patch that adds the infrastructure and the
> implementation for X86, ARM and PPC of GetInstSize and
> GetFunctionSize. Both functions are virtual functions defined in
> TargetInstrInfo.h.
>
> For X86, I moved some commodity functions from X86CodeEmitter to
> X86InstrInfo.
>
2008 Apr 15
4
[LLVMdev] Being able to know the jitted code-size before emitting
OK, here's a new patch that adds the infrastructure and the
implementation for X86, ARM and PPC of GetInstSize and GetFunctionSize.
Both functions are virtual functions defined in TargetInstrInfo.h.
For X86, I moved some commodity functions from X86CodeEmitter to
X86InstrInfo.
What do you think?
Nicolas
Evan Cheng wrote:
>
> I think both of these belong to TargetInstrInfo. And
2015 Aug 24
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...>
>>>> > mov @a, %r0 // r0 = gpr
>>>> > mov %r0, %b1 // b1 = base reg
>>>> >
>>>> > The register class looks like this:
>>>> >
>>>> > def ARegs : RegisterClass<"us", [i16], i16, (add GPRRegs, IndexRegs, BaseRegs)>;
>>>> >
>>>> > I have absolutely no idea why this is not matching any longer?
>>>> >
>>>> > The fix here is to define an MI with explicit single register class (ie it only allows PTRRegs as the destination).
>>>>...
2012 Mar 30
1
[LLVMdev] load instruction memory operands value null
Hi,
For a custom target, there is a pass to perform memory dependence analysis, where, i need to get memory pointer for "load instruction". I want to check the pointer alias behavior. I am getting this by considering the memoperands for the load instruction.
For "load instruction", Machine Instruction dumps as below:
vr12<def> = LD_Iri %vr2<kill>, 0;
2015 Aug 24
2
[LLVMdev] TableGen Register Class not matching for MI in 3.6
...t; > mov @a, %r0 // r0 = gpr
>>>>> > mov %r0, %b1 // b1 = base reg
>>>>> >
>>>>> > The register class looks like this:
>>>>> >
>>>>> > def ARegs : RegisterClass<"us", [i16], i16, (add GPRRegs, IndexRegs, BaseRegs)>;
>>>>> >
>>>>> > I have absolutely no idea why this is not matching any longer?
>>>>> >
>>>>> > The fix here is to define an MI with explicit single register class (ie it only allows PTRRegs as the destination)....