search for: ppctargetlowering

Displaying 20 results from an estimated 61 matches for "ppctargetlowering".

2012 May 03
2
[LLVMdev] Inserting a branch in PPCTargetLowering::LowerFormalArguments_SVR4
Hello, The current code in PPCTargetLowering::LowerFormalArguments_SVR4 contains a FIXME over the code which saves the live floating-point registers to the stack. The FIXME states that this should only be done if CR bit 6 is set. I've been told that the lack of this check is preventing clang/LLVM from compiling a functional FreeBSD kernel...
2012 May 10
0
[LLVMdev] Inserting a branch in PPCTargetLowering::LowerFormalArguments_SVR4
I hate to be bothersome, but can someone please comment on this? Thanks again, Hal On Thu, 3 May 2012 14:49:04 -0500 Hal Finkel <hfinkel at anl.gov> wrote: > Hello, > > The current code in PPCTargetLowering::LowerFormalArguments_SVR4 > contains a FIXME over the code which saves the live floating-point > registers to the stack. The FIXME states that this should only be done > if CR bit 6 is set. I've been told that the lack of this check is > preventing clang/LLVM from compiling a funct...
2012 May 10
0
[LLVMdev] Inserting a branch in PPCTargetLowering::LowerFormalArguments_SVR4
...e to be bothersome, but can someone please comment on this? > > > > Thanks again, > > Hal > > > > On Thu, 3 May 2012 14:49:04 -0500 > > Hal Finkel <hfinkel at anl.gov> wrote: > > > >> Hello, > >> > >> The current code in PPCTargetLowering::LowerFormalArguments_SVR4 > >> contains a FIXME over the code which saves the live floating-point > >> registers to the stack. The FIXME states that this should only be > >> done if CR bit 6 is set. I've been told that the lack of this > >> check is preventi...
2012 May 10
2
[LLVMdev] Inserting a branch in PPCTargetLowering::LowerFormalArguments_SVR4
...nkel <hfinkel at anl.gov> wrote: > I hate to be bothersome, but can someone please comment on this? > > Thanks again, > Hal > > On Thu, 3 May 2012 14:49:04 -0500 > Hal Finkel <hfinkel at anl.gov> wrote: > >> Hello, >> >> The current code in PPCTargetLowering::LowerFormalArguments_SVR4 >> contains a FIXME over the code which saves the live floating-point >> registers to the stack. The FIXME states that this should only be done >> if CR bit 6 is set. I've been told that the lack of this check is >> preventing clang/LLVM from c...
2012 May 10
1
[LLVMdev] Inserting a branch in PPCTargetLowering::LowerFormalArguments_SVR4
...meone please comment on this? >>> >>> Thanks again, >>> Hal >>> >>> On Thu, 3 May 2012 14:49:04 -0500 >>> Hal Finkel <hfinkel at anl.gov> wrote: >>> >>>> Hello, >>>> >>>> The current code in PPCTargetLowering::LowerFormalArguments_SVR4 >>>> contains a FIXME over the code which saves the live floating-point >>>> registers to the stack. The FIXME states that this should only be >>>> done if CR bit 6 is set. I've been told that the lack of this >>>> check...
2011 Aug 25
0
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
...Why is this taking two arguments? I don't think "getValue(I.getArgOperand(1))" should be there. > return 0; > } > case Intrinsic::gcroot: > --- a/lib/Target/PowerPC/PPCISelLowering.cpp > +++ b/lib/Target/PowerPC/PPCISelLowering.cpp > @@ -211,6 +211,8 @@ PPCTargetLowering::PPCTargetLowering(PPCTargetMachine &TM) > setOperationAction(ISD::TRAP, MVT::Other, Legal); > > // TRAMPOLINE is custom lowered. > + setOperationAction(ISD::INIT_TRAMPOLINE, MVT::Other, Custom); > + setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom); > &gt...
2008 Apr 22
2
[LLVMdev] RFC: PowerPC tail call optimization patch
...pr 22, 2008 at 12:30 AM, Evan Cheng <evan.cheng at apple.com> wrote: > More nitpicks: > ... > No need for else here. :-) Done > SPDiff = (int)CallerMinReservedArea - (int)ParamSize; > > Just change last statement to > int SPDiff = (int)... Done > > +bool > +PPCTargetLowering::IsEligibleForTailCallOptimization(SDOperand Call, > + SDOperand Ret, > + SelectionDAG& > DAG) const { > + // Variable argument functions > + // are not supported. >...
2011 Aug 23
2
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
Hi! Attached set of patches splits llvm.init.trampoline into an "init" phase and an "adjust" phase, as discussed on the "Go on dragonegg" thread. Thanks! -- Sanjoy Das http://playingwithpointers.com -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Split-intrinsics-and-DAG-nodes.patch Type: text/x-diff Size: 8808 bytes Desc:
2008 Apr 21
0
[LLVMdev] RFC: PowerPC tail call optimization patch
...e. :-) + int SPDiff = 0; + + PPCFunctionInfo *FI = DAG.getMachineFunction().getInfo<PPCFunctionInfo>(); + unsigned CallerMinReservedArea = FI->getMinReservedArea(); + SPDiff = (int)CallerMinReservedArea - (int)ParamSize; Just change last statement to int SPDiff = (int)... +bool +PPCTargetLowering::IsEligibleForTailCallOptimization(SDOperand Call, + SDOperand Ret, + SelectionDAG& DAG) const { + // Variable argument functions + // are not supported. Why two separate lines? + if (...
2019 Jan 03
3
Potential bug in SelectionDAGLegalize::ConvertNodeToLibcall()?
Hi Nemanja, I'm attaching a patch that builds on D54583 and implements what we discussed on IRC earlier today. Particularly: * Make LowerCallTo() a virtual function, so it can be wrapped by a subclass. * Implement LowerCallTo() in PPCTargetLowering to wrap TargetLowering::LowerCallTo() and legalize the return node when targeting SPE. * Augment PPCTargetLowering::LowerCall_32SVR4() to legalize MVT::f64 arguments that have been pre-processed into EXTRACT_ELEMENT(i64 BITCAST f64, 0/1) The purpose of this being to legalize intermediate i...
2008 Apr 16
2
[LLVMdev] RFC: PowerPC tail call optimization patch
Hello Dale, this is an updated version of the tail call optimization patch for powerpc. could you have a look at it? i added code to support ppc64 (untested, will try to get access to ppc64 on a friend's machine). incorporated evan's formatting suggestions. ;) will run another round of testing (llvm-test) on my powerpc g4/800 when i get the okay to commit. testing on this machine takes
2008 Jul 08
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Would it be acceptable to change MachineInstr::getRegInfo from private to public so I can use it from PPCTargetLowering::EmitInstrWithCustomInserter? Cheers, Gary Evan Cheng wrote: > Look for createVirtualRegister. These are examples in > PPCISelLowering.cpp. > > Evan > On Jul 8, 2008, at 8:24 AM, Gary Benson wrote: > > > Hi Evan, > > > > Evan Cheng wrote: > >> The...
2008 Jul 08
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
PPCTargetLowering::EmitInstrWithCustomInserter has a reference to the current MachineFunction for other purposes. Can you use MachineFunction::getRegInfo instead? Dan On Jul 8, 2008, at 1:56 PM, Gary Benson wrote: > Would it be acceptable to change MachineInstr::getRegInfo from private > to public so I can...
2008 Apr 22
0
[LLVMdev] RFC: PowerPC tail call optimization patch
...at apple.com> > wrote: >> More nitpicks: >> ... >> No need for else here. :-) > Done >> SPDiff = (int)CallerMinReservedArea - (int)ParamSize; >> >> Just change last statement to >> int SPDiff = (int)... > Done >> >> +bool >> +PPCTargetLowering::IsEligibleForTailCallOptimization(SDOperand Call, >> + SDOperand Ret, >> + SelectionDAG& >> DAG) const { >> + // Variable argument functions >> + // are not s...
2008 Jul 09
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Ah, didn't see that, that's what comes of trying to do something at 5pm :) I attached an updated patch which creates a virtual register instead of using R0. How does this look? Cheers, Gary Dan Gohman wrote: > PPCTargetLowering::EmitInstrWithCustomInserter has a reference > to the current MachineFunction for other purposes. Can you use > MachineFunction::getRegInfo instead? > > Dan > > On Jul 8, 2008, at 1:56 PM, Gary Benson wrote: > > Would it be acceptable to change MachineInstr::getRegInfo &gt...
2009 Feb 24
3
[LLVMdev] [llvm-commits] [llvm] r65296 - in /llvm/trunk: include/llvm/CodeGen/ lib/CodeGen/SelectionDAG/ lib/Target/CellSPU/ lib/Target/PowerPC/ lib/Target/X86/ test/CodeGen/X86/
...() #5 0x0008bd8f in llvm::MVT::getVectorElementType (this=0xbfffdda4) at ValueTypes.h:317 #6 0x002aed06 in BuildSplatI (Val=0, SplatSize=8, VT={{V = 24, SimpleTy = llvm::MVT::v4i32, LLVMTy = 0x18}}, DAG=@0x16088a0, dl={Idx = 4294967295}) at PPCISelLowering.cpp:311\ 5 #7 0x002afae4 in llvm::PPCTargetLowering::LowerBUILD_VECTOR (this=0x1803d58, Op={Node = 0x157a530, ResNo = 0}, DAG=@0x16088a0) at PPCISelLowering.cpp:3200 #8 0x002bb54f in llvm::PPCTargetLowering::LowerOperation (this=0x1803d58, Op={Node = 0x157a530, ResNo = 0}, DAG=@0x16088a0) at PPCISelLowering.cpp:3766 #9 0x0051bed6 in (anony...
2008 Jun 30
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...A better solution would be to fix the lowering to > produce two instructions instead of this pseudo instruction. Hi Chris, I'd prefer to fix the lowering if possible; the pseudo instructions are only used in three places, so it shouldn't be a huge change. I need to generate labels in PPCTargetLowering::LowerAtomicCMP_SWAP however: how do I do that? FWIW the code it needs to emit is: ; inputs: ptr, oldval, newval loop: lwarx $tmp, 0, $ptr cmpw $oldval, $tmp bne- exit stwcx. $newval, 0, $ptr bne- loop exit: ... Cheers, Gary -- http://gben...
2008 Jun 30
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...this. There is a hackish way to do this right now. Add a pseudo instruction to represent this operation and mark it usesCustomDAGSchedInserter. This means the intrinsic is mapped to a single (pseudo) node. But it is then expanded into instructions that can span multiple basic blocks. See PPCTargetLowering::EmitInstrWithCustomInserter(). Evan On Jun 30, 2008, at 6:10 AM, Gary Benson wrote: > Chris Lattner wrote: >> On Jun 27, 2008, at 8:27 AM, Gary Benson wrote: >>> def CMP_UNRESw : Pseudo<(outs), (ins GPRC:$rA, GPRC:$rB, i32imm: >>> $label), >>>...
2019 Jan 04
2
Potential bug in SelectionDAGLegalize::ConvertNodeToLibcall()?
....cwru.edu<mailto:jrh29 at alumni.cwru.edu>> wrote: Hi Nemanja, I'm attaching a patch that builds on D54583 and implements what we discussed on IRC earlier today. Particularly: * Make LowerCallTo() a virtual function, so it can be wrapped by a subclass. * Implement LowerCallTo() in PPCTargetLowering to wrap TargetLowering::LowerCallTo() and legalize the return node when targeting SPE. * Augment PPCTargetLowering::LowerCall_32SVR4() to legalize MVT::f64 arguments that have been pre-processed into EXTRACT_ELEMENT(i64 BITCAST f64, 0/1) The purpose of this being to legalize intermediate i...
2009 Feb 25
3
[LLVMdev] [llvm-commits] [llvm] r65296 - in /llvm/trunk: include/llvm/CodeGen/ lib/CodeGen/SelectionDAG/ lib/Target/CellSPU/ lib/Target/PowerPC/ lib/Target/X86/ test/CodeGen/X86/
...::getVectorElementType (this=0xbfffdda4) > at ValueTypes.h:317 > #6 0x002aed06 in BuildSplatI (Val=0, SplatSize=8, VT={{V = 24, > SimpleTy = llvm::MVT::v4i32, LLVMTy = 0x18}}, DAG=@0x16088a0, > dl={Idx = 4294967295}) at PPCISelLowering.cpp:311\ > 5 > #7 0x002afae4 in llvm::PPCTargetLowering::LowerBUILD_VECTOR > (this=0x1803d58, Op={Node = 0x157a530, ResNo = 0}, DAG=@0x16088a0) > at PPCISelLowering.cpp:3200 > #8 0x002bb54f in llvm::PPCTargetLowering::LowerOperation > (this=0x1803d58, Op={Node = 0x157a530, ResNo = 0}, DAG=@0x16088a0) > at PPCISelLowering.cpp:3766...