Displaying 6 results from an estimated 6 matches for "compareflag".
2012 Aug 19
1
[LLVMdev] MBlaze select_cc lowering question.
...SelectionDAG &DAG) const {
> SDValue LHS = Op.getOperand(0);
> SDValue RHS = Op.getOperand(1);
> SDValue TrueVal = Op.getOperand(2);
> SDValue FalseVal = Op.getOperand(3);
> DebugLoc dl = Op.getDebugLoc();
> unsigned Opc;
>
> SDValue CompareFlag;
> if (LHS.getValueType() == MVT::i32) {
> Opc = MBlazeISD::Select_CC;
> CompareFlag = DAG.getNode(MBlazeISD::ICmp, dl, MVT::i32, LHS, RHS)
> .getValue(1);
> } else {
> llvm_unreachable("Cannot lower select_cc with unknown type");
>...
2008 Sep 19
2
[LLVMdev] Custom Opcodes versus built-in opcodes
...es are encoded with an implicit delta added to their enum value.
Is this documented anywhere that getTargetNode is the preferred method
to use in a Custom Lowering function? Even the other backends use
getNode in their lowering functions with custom opcodes.
This is from SparcISelLowering.cpp
CompareFlag = DAG.getNode(SPISD::CMPFCC, MVT::Flag, LHS, RHS);
if (SPCC == ~0U) SPCC = FPCondCCodeToFCC(CC);
Opc = SPISD::BRFCC;
}
return DAG.getNode(Opc, MVT::Other, Chain, Dest,
DAG.getConstant(SPCC, MVT::i32), CompareFlag);
Micah
-------------- next part -------...
2008 Sep 19
0
[LLVMdev] Custom Opcodes versus built-in opcodes
...cit delta added to their enum value.
>
> Is this documented anywhere that getTargetNode is the preferred
> method to use in a Custom Lowering function? Even the other backends
> use getNode in their lowering functions with custom opcodes.
> This is from SparcISelLowering.cpp
> CompareFlag = DAG.getNode(SPISD::CMPFCC, MVT::Flag, LHS, RHS);
> if (SPCC == ~0U) SPCC = FPCondCCodeToFCC(CC);
> Opc = SPISD::BRFCC;
> }
> return DAG.getNode(Opc, MVT::Other, Chain, Dest,
> DAG.getConstant(SPCC, MVT::i32), CompareFlag);
Actually, I'm wrong,...
2008 Sep 19
0
[LLVMdev] Custom Opcodes versus built-in opcodes
On Sep 18, 2008, at 4:04 PM, Villmow, Micah wrote:
> I am using lowering instructions and using custom opcodes that I can
> more easily directly map to my backend. These opcodes are then used
> to emit a custom set of instructions into the MachineBasicBlock.
> I’ve been able to get one to work correctly, however, I’ve ran into
> an issue where my second one is being
2008 Sep 18
4
[LLVMdev] Custom Opcodes versus built-in opcodes
I am using lowering instructions and using custom opcodes that I can
more easily directly map to my backend. These opcodes are then used to
emit a custom set of instructions into the MachineBasicBlock. I've been
able to get one to work correctly, however, I've ran into an issue where
my second one is being confused as a FRAMEADDR opcode instead of my
opcode.
DValue
2016 Apr 27
2
[Sparc] builtin setjmp / longjmp - need help to get past last problem
...ISD::TLS_ADD";
! case SPISD::TLS_LD: return "SPISD::TLS_LD";
! case SPISD::TLS_CALL: return "SPISD::TLS_CALL";
}
return nullptr;
}
***************
*** 2492,2497 ****
--- 2497,2516 ----
DAG.getConstant(SPCC, dl, MVT::i32), CompareFlag);
}
+ SDValue SparcTargetLowering::LowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG,
+ const SparcTargetLowering &TLI) const {
+ SDLoc DL(Op);
+ return DAG.getNode(SPISD::EH_SJLJ_SETJMP, DL,
+ DAG.getVTList(MVT::i32, MVT::Other), Op.getOperand(0), Op.getOperand(1));
+
+ }...