Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] Custom lowering of Store !"
2007 Sep 28
2
[LLVMdev] Lowering operations to 8-bit!
Attached please find the gdb backtrace dump and the postscript file of
the DAG right before assertion.
The red Node is the current Node in LegalizeOp()
The only thing that I am customizing before we get here is the
FORMAL_ARGUMENTS. At this time I don't really care about the arguments,
just want to get some global values working. When I trace the program,
it is well passed the legalizing of
2007 Sep 28
0
[LLVMdev] Lowering operations to 8-bit!
On Sep 28, 2007, at 1:10 PM, <Alireza.Moshtaghi at microchip.com>
<Alireza.Moshtaghi at microchip.com> wrote:
> Attached please find the gdb backtrace dump and the postscript file of
> the DAG right before assertion.
> The red Node is the current Node in LegalizeOp()
Okay, this is the problem. LegalizeOp should only be called on a
node if the VT is valid for the target.
2007 Sep 28
2
[LLVMdev] Lowering operations to 8-bit!
I moved my code to 2.1 but still the same.
If I make ADD i16 legal, then it goes through, but it has problem
expanding it to i8.
Should I go ahead and customize it and do the same for all instructions?
Or there is a more general thing that I can do?
A.
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On Behalf Of Chris Lattner
Sent:
2007 Sep 28
2
[LLVMdev] Lowering operations to 8-bit!
ExpandOp is not called at all.
In SelectionDAGLegalize::HandleOp() only the ValueType is considered in
the switch statement to decide if it is legal or promote or expand.
As I trace back (correct me if I'm wrong) these values are set in
TargetLowering::computeRegisterProperties() and it is based on the
largest register class (in my case the smallest possible pointer size,
16-bit)
So it reduces
2007 Sep 28
0
[LLVMdev] Lowering operations to 8-bit!
On Sep 28, 2007, at 11:36 AM, <Alireza.Moshtaghi at microchip.com>
<Alireza.Moshtaghi at microchip.com> wrote:
> I moved my code to 2.1 but still the same.
> If I make ADD i16 legal, then it goes through, but it has problem
> expanding it to i8.
> Should I go ahead and customize it and do the same for all
> instructions?
> Or there is a more general thing that I
2007 Sep 26
2
[LLVMdev] viewGraph
Hi,
I am trying to use the viewGraph() method of SelectionDAG, of course I
installed graghviz, nuked my build directory, reconfigured and rebuilt
the project. However, gdb does not consistently recognize
SelectionDAG::viewgraph(), some times it finds it and some times it says
that llvm::SelectionDAG does not have viewGraph(). It worked for couple
of instances when I was in my modules but when for
2007 Oct 01
2
[LLVMdev] Lowering operations to 8-bit!
So does that mean that LLVM can't lower automatically to 8-bit values?
I tried defining 8-bit pointers in the subtarget using "p:8:8:8" but it
asserts at line 566 of TargetData.cpp in the default case of
TargetData::getIntPtrType()
Is it difficult to add 8-bit support?
A.
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On
2007 Oct 03
2
[LLVMdev] Lowering operations to 8-bit!
Thank you Evan,
I added the return Type::Int8Ty to the switch statement to get it to
work.
I don't know if this can have other consequences, I haven't yet verified
if the generated Legalized DAG is correct though.
A.
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On Behalf Of Evan Cheng
Sent: Monday, October 01, 2007 3:23 PM
To:
2007 Oct 08
3
[LLVMdev] Lowering operations to 8-bit!
I am trying to verify the generated DAG after converting from llvm to
DAG, however I'm not sure if this is correct or not.
Here is the situation:
In order to get LLVM to lower to 8-bit I have to define only 8-bit
registers and the pointer size also to be 8-bit.
Doing so, the attached DAG is generated for a load:i16.
I have problem understanding this DAG in two places:
1)As you can see the
2007 Oct 01
0
[LLVMdev] Lowering operations to 8-bit!
On Oct 1, 2007, at 11:33 AM, Alireza.Moshtaghi at microchip.com wrote:
> So does that mean that LLVM can't lower automatically to 8-bit values?
There is no inherent reason. LLVM should be able to lower to 8-bit
values. It's probably a bug somewhere.
In TargetLowering.h:
bool isTypeLegal(MVT::ValueType VT) const {
return !MVT::isExtendedVT(VT) && RegClassForVT[VT] !=
2007 Oct 04
0
[LLVMdev] Lowering operations to 8-bit!
On Oct 3, 2007, at 3:21 PM, Alireza.Moshtaghi at microchip.com wrote:
> Thank you Evan,
> I added the return Type::Int8Ty to the switch statement to get it to
> work.
> I don't know if this can have other consequences, I haven't yet
> verified
> if the generated Legalized DAG is correct though.
If this works, please submit a patch. Otherwise please submit a bug
2007 Sep 26
3
[LLVMdev] viewGraph
Oh, I tried that, in my previous email, I meant to write:
this->DAG.viewGragh()
DAG.viewGragh()
sorry for the typo in my email...
It does not complain about not finding DAG, it complains about not
finding viewGragh() in DAG.
A.
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On Behalf Of Chris Lattner
Sent: Wednesday, September 26,
2007 Oct 09
0
[LLVMdev] Lowering operations to 8-bit!
On Oct 8, 2007, at 3:15 PM, Alireza.Moshtaghi at microchip.com wrote:
> I am trying to verify the generated DAG after converting from llvm to
> DAG, however I'm not sure if this is correct or not.
> Here is the situation:
> In order to get LLVM to lower to 8-bit I have to define only 8-bit
> registers and the pointer size also to be 8-bit.
> Doing so, the attached DAG is
2007 Sep 29
0
[LLVMdev] Lowering operations to 8-bit!
On Sep 28, 2007, at 4:53 PM, <Alireza.Moshtaghi at microchip.com>
<Alireza.Moshtaghi at microchip.com> wrote:
> ExpandOp is not called at all.
> In SelectionDAGLegalize::HandleOp() only the ValueType is
> considered in
> the switch statement to decide if it is legal or promote or expand.
> As I trace back (correct me if I'm wrong) these values are set in
>
2007 Oct 09
1
[LLVMdev] Lowering operations to 8-bit!
Evan,
The machine is 8 bit, and of course all registers are 8-bit too.
Memory access on this machine is a bit different. The memory is banked
into banks of 256-byte, and you can select the active bank using a bank
select register. All instructions can access the memory with an 8-bit
operand, so in that sense the address space can be viewed as 256-byte
long.
On the other hand, there are three
2007 Sep 28
0
[LLVMdev] Lowering operations to 8-bit!
On Sep 27, 2007, at 4:35 PM, <Alireza.Moshtaghi at microchip.com>
<Alireza.Moshtaghi at microchip.com> wrote:
> I'm working on version 2.0
> The assertion at line 2380 of LegalizeDAG.cpp fails when it is
> trying to
> lower the add with i16.
>
> assertion reads:
> assert(MVT::isVector(Node->getValueType(0)) &&
> "Cannot expand this
2007 Sep 27
2
[LLVMdev] Lowering operations to 8-bit!
I'm working on version 2.0
The assertion at line 2380 of LegalizeDAG.cpp fails when it is trying to
lower the add with i16.
assertion reads:
assert(MVT::isVector(Node->getValueType(0)) &&
"Cannot expand this binary operation!");
I am trying to compile a very simple program as follows:
short var;
void foo(void)
{
Var++;
}
The input bytecode, (in addition to the
2009 Mar 12
0
[LLVMdev] promotion of return value.
Previously we talked about adding new attributes to function to identify the promotion class.
> sign_ext_from_i8, sign_ext_from_i16
> zero_ext_from_i8, zero_ext_from_i16
Aren't these attributes more applicable to return value? of course then the question would be if they are also applicable to parameters too? (because we use same attributes for parameters and return value)? or
2007 Sep 26
0
[LLVMdev] viewGraph
On Wed, 26 Sep 2007 Alireza.Moshtaghi at microchip.com wrote:
> I am trying to use the viewGraph() method of SelectionDAG, of course I
> installed graghviz, nuked my build directory, reconfigured and rebuilt
> the project. However, gdb does not consistently recognize
> SelectionDAG::viewgraph(), some times it finds it and some times it says
> that llvm::SelectionDAG does not have
2008 Feb 01
1
[LLVMdev] C embedded extensions and LLVM
Christopher,
Thank you for all the work :-)
Regarding the regression testing, it is in our plan to contribute into
LLVM. The current state of our project is not in the form that we can do
this at this time though, but I'm hoping that we can get some minimal
functionality into LLVM before LLVM 2.3 (at most LLVM 2.4) release.
Looks like you have also (at least on your local project) taken