[llvm-commits] [llvm] r44037 - in /llvm/trunk: include/llvm/CodeGen/ lib/CodeGen/SelectionDAG/ lib/Target/ARM/ lib/Target/Alpha/ lib/Target/IA64/ lib/Target/Mips/ lib/Target/PowerPC/ lib/Target/Sparc/ lib/Target/X86/

Bill Wendling isanbard at gmail.com
Mon Nov 12 17:35:02 PST 2007


On Nov 12, 2007 5:23 PM, Evan Cheng <evan.cheng at apple.com> wrote:
>
> On Nov 12, 2007, at 4:44 PM, Bill Wendling wrote:
>
> >  // Type profiles.
> > -def SDT_ARMCallSeq : SDTypeProfile<0, 1, [ SDTCisVT<0, i32> ]>;
> > +def SDT_ARMCallSeq_start : SDTypeProfile<0, 1, [ SDTCisVT<0, i32> ]>;
> > +def SDT_ARMCallSeq_end   : SDTypeProfile<0, 2, [ SDTCisVT<0, i32>,
> > +                                                 SDTCisVT<1, i32> ]>;
> >
> >  def SDT_ARMSaveCallPC : SDTypeProfile<0, 1, []>;
> >
> > @@ -45,10 +47,10 @@
> >  def ARMWrapper       : SDNode<"ARMISD::Wrapper",     SDTIntUnaryOp>;
> >  def ARMWrapperJT     : SDNode<"ARMISD::WrapperJT",   SDTIntBinOp>;
> >
> > -def ARMcallseq_start : SDNode<"ISD::CALLSEQ_START", SDT_ARMCallSeq,
> > +def ARMcallseq_start : SDNode<"ISD::CALLSEQ_START",
> > SDT_ARMCallSeq_start,
> >                             [SDNPHasChain, SDNPOutFlag]>;
> > -def ARMcallseq_end   : SDNode<"ISD::CALLSEQ_END",   SDT_ARMCallSeq,
> > -                           [SDNPHasChain, SDNPInFlag, SDNPOutFlag]>;
> > +def ARMcallseq_end   : SDNode<"ISD::CALLSEQ_END",
> > SDT_ARMCallSeq_end,
> > +                           [SDNPHasChain, SDNPOptInFlag, SDNPOutFlag]>;
> >
>
> Please unify these as well by adding callseq_start / callseq_down to
> TargetSelectionDAG.td and use those instead.
>
Okay.

> Also, where are the test case(s)? :-)
>
I knew someone would ask that. :-)

It's hard to come up with a testcase because I need to check multiple
lines of output to make sure that the stack pointer isn't modified
while a call is taking place. Does anyone know how to do this?

-bw



More information about the llvm-commits mailing list