[llvm] r263667 - use FileCheck for tighter checking

Quentin Colombet via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 17 09:27:30 PDT 2016


> On Mar 16, 2016, at 5:58 PM, Sanjay Patel <spatel at rotateright.com> wrote:
> 
> That would be checking for the absence of badness rather than presence of goodness.
> 
> I prefer the latter for the same reason we've done this in the x86 backend: it's too easy for bugs to slip through the cracks with lax checking. 

+1

> 
> I've definitely been a victim of weak regression tests. Quentin, Ahmed, and Tim have cited loose checks as the cause of problems too:
> https://llvm.org/bugs/show_bug.cgi?id=22897 <https://llvm.org/bugs/show_bug.cgi?id=22897>
> https://llvm.org/bugs/show_bug.cgi?id=26815#c12 <https://llvm.org/bugs/show_bug.cgi?id=26815#c12>
> https://llvm.org/bugs/show_bug.cgi?id=26815#c13 <https://llvm.org/bugs/show_bug.cgi?id=26815#c13>
> 
> But if the consensus is that IR checking with this detail is going too far, I can revert and/or hand-edit to reduce the checking. I'm not sure how we'd make a script filter out checks based on functional importance.
> 
> BTW - Tim, thanks for posting your script in http://reviews.llvm.org/D17999 <http://reviews.llvm.org/D17999> ! I'm using part of that here.
> 
> On Wed, Mar 16, 2016 at 5:59 PM, Alex Rosenberg <alexr at ohmantics.com <mailto:alexr at ohmantics.com>> wrote:
> It looks like this test can be a single line CHECK-NOT. The same is true of a few other similar commits today.
> 
> Alex
> 
> On Mar 16, 2016, at 3:29 PM, Sanjay Patel via llvm-commits <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>> wrote:
> 
> > Author: spatel
> > Date: Wed Mar 16 17:29:07 2016
> > New Revision: 263667
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=263667&view=rev <http://llvm.org/viewvc/llvm-project?rev=263667&view=rev>
> > Log:
> > use FileCheck for tighter checking
> >
> > I'm testing out a script that auto-generates the check lines.
> > It's 98% copied from utils/update_llc_test_checks.py.
> > If others think this is useful, please let me know.
> >
> > Modified:
> >    llvm/trunk/test/Transforms/SimplifyCFG/two-entry-phi-return.ll
> >
> > Modified: llvm/trunk/test/Transforms/SimplifyCFG/two-entry-phi-return.ll
> > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyCFG/two-entry-phi-return.ll?rev=263667&r1=263666&r2=263667&view=diff <http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyCFG/two-entry-phi-return.ll?rev=263667&r1=263666&r2=263667&view=diff>
> > ==============================================================================
> > --- llvm/trunk/test/Transforms/SimplifyCFG/two-entry-phi-return.ll (original)
> > +++ llvm/trunk/test/Transforms/SimplifyCFG/two-entry-phi-return.ll Wed Mar 16 17:29:07 2016
> > @@ -1,15 +1,23 @@
> > -; RUN: opt < %s -simplifycfg -S | not grep br
> > +; RUN: opt < %s -simplifycfg -S | FileCheck %s
> >
> > define i1 @qux(i8* %m, i8* %n, i8* %o, i8* %p) nounwind  {
> > entry:
> > -        %tmp7 = icmp eq i8* %m, %n
> > -        br i1 %tmp7, label %bb, label %UnifiedReturnBlock
> > +  %tmp7 = icmp eq i8* %m, %n
> > +  br i1 %tmp7, label %bb, label %UnifiedReturnBlock
> >
> > bb:
> > -        %tmp15 = icmp eq i8* %o, %p
> > -        br label %UnifiedReturnBlock
> > +  %tmp15 = icmp eq i8* %o, %p
> > +  br label %UnifiedReturnBlock
> >
> > UnifiedReturnBlock:
> > -        %result = phi i1 [ 0, %entry ], [ %tmp15, %bb ]
> > -        ret i1 %result
> > +  %result = phi i1 [ 0, %entry ], [ %tmp15, %bb ]
> > +  ret i1 %result
> > +
> > +; CHECK-LABEL: @qux(
> > +; CHECK-NEXT:  entry:
> > +; CHECK-NEXT:    [[TMP7:%.*]] = icmp eq i8* %m, %n
> > +; CHECK-NEXT:    [[TMP15:%.*]] = icmp eq i8* %o, %p
> > +; CHECK-NEXT:    [[TMP15_:%.*]] = select i1 [[TMP7]], i1 [[TMP15]], i1 false
> > +; CHECK-NEXT:    ret i1 [[TMP15_]]
> > }
> > +
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160317/09a2eef7/attachment.html>


More information about the llvm-commits mailing list