[llvm] r183841 - Add artificial PRED_BAD to PPC::Predicate enumeration.

Bill Schmidt wschmidt at linux.vnet.ibm.com
Wed Jun 12 11:37:12 PDT 2013


On Wed, 2013-06-12 at 13:19 -0500, Hal Finkel wrote:
> ----- Original Message -----
> > Author: wschmidt
> > Date: Wed Jun 12 10:14:42 2013
> > New Revision: 183841
> > 
> > URL: http://llvm.org/viewvc/llvm-project?rev=183841&view=rev
> > Log:
> > Add artificial PRED_BAD to PPC::Predicate enumeration.
> > 
> > Allows returning a PPC::Predicate from a function with a no-predicate
> > value possible.  Preparatory patch for fast-isel on PPC64 ELF.  No
> > behavioral change intended.
> 
> Do we already have corresponding asserts in the asm printers, MC emitters, etc. to pick up illegal predicate values?

Good question.  In almost all of them, we do, but
PPCInstPrinter::printPredicateOperand() doesn't have a default case in
the switch to catch a misuse of PRED_BAD.  I'll fix that in a follow-on.

Thanks,
Bill

> 
>  -Hal
> 
> > 
> > Modified:
> >     llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h
> > 
> > Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h
> > URL:
> > http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h?rev=183841&r1=183840&r2=183841&view=diff
> > ==============================================================================
> > --- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h
> > (original)
> > +++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCPredicates.h Wed
> > Jun 12 10:14:42 2013
> > @@ -32,7 +32,8 @@ namespace PPC {
> >      PRED_GT     = (1 << 5) | 12,
> >      PRED_NE     = (2 << 5) |  4,
> >      PRED_UN     = (3 << 5) | 12,
> > -    PRED_NU     = (3 << 5) |  4
> > +    PRED_NU     = (3 << 5) |  4,
> > +    PRED_BAD    = 0
> >    };
> >    
> >    /// Invert the specified predicate.  != -> ==, < -> >=.
> > 
> > 
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> > 
> 





More information about the llvm-commits mailing list