Displaying 4 results from an estimated 4 matches for "xxxlowering".
2016 Jun 24
2
creating Intrinsic DAG Node
...r via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> given the following C code:
>
> float b=16, a=0;
> int main() {
> float a = sqrt(b);
> return0;
> }
>
> I'm trying to lower FSQRT down, but getting a casting issue, my code is:
>
> SDValue XXXLowering::LowerFSQRT(SDValue Op, SelectionDAG &DAG) const {
> SDLoc DL(Op);
> EVT VT = Op.getValueType();
> SDValue LHS = Op.getOperand(0);
>
> SDValue newNode = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, VT, DAG.getTargetConstantFP(Intrinsic::my_intrinsic, DL, VT), LHS);
>...
2016 Jun 24
3
creating Intrinsic DAG Node
...g> wrote:
>>
>> given the following C code:
>>
>> float b=16, a=0;
>> int main() {
>> float a = sqrt(b);
>> return0;
>> }
>>
>> I'm trying to lower FSQRT down, but getting a casting issue, my code is:
>>
>> SDValue XXXLowering::LowerFSQRT(SDValue Op, SelectionDAG &DAG) const {
>> SDLoc DL(Op);
>> EVT VT = Op.getValueType();
>> SDValue LHS = Op.getOperand(0);
>>
>> SDValue newNode = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, DL, VT,
>> DAG.getTargetConstantFP(Intrinsic::my_int...
2016 Feb 02
2
creating Intrinsic DAG Node
Matt,
The added intrinsic in DAG looks like:
0xbedb698: i32 = llvm.MyIntrinsic 0xbedb200, 0xbedac18 [ORD=4]
The builtin in DAG looks like:
0xbedb2a8: i32,ch = llvm 0xbedb158:1, 0xbedb200, 0xbedb158 [ORD=7] [ID=16]
The only difference I'm seeing is the extra operand, which is a 'ch'
from a load.
On Tue, Feb 2, 2016 at 3:55 PM, Matt Arsenault <arsenm2 at gmail.com>
2012 Oct 12
2
[LLVMdev] initial selection DAG
Hi,
I wonder how the initial selection DAG is built in the backends.
>From working backends I get:
----8<-------
Initial selection DAG: BB#0 'main:'
SelectionDAG has 18 nodes:
----8<-------
>From my (not working) backend I get:
----8<-------
Initial selection DAG: BB#0 'main:'
SelectionDAG has 15 nodes:
----8<-------
I miss three nodes and I wonder what do I have