[PATCH] D99839: [C++, test] Fix typo in NSS* vars

Thomas Preud'homme via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 20 04:00:36 PDT 2021


thopre marked 2 inline comments as done.
thopre added inline comments.


================
Comment at: clang/test/CodeGenCXX/split-stacks.cpp:30
 // CHECK-NOSEGSTK: define dso_local i32 @_Z7nosplitv() [[NSS1:#[0-9]+]] {
 // CHECK-NOSEGSTK: define linkonce_odr dso_local i32 @_Z8tnosplitIiEiv() [[NSS2:#[0-9]+]] comdat {
+// CHECK-NOSEGSTK-NOT: [[NSS0]] = { {{.*}} "split-stack" {{.*}} }
----------------
ChuanqiXu wrote:
> thopre wrote:
> > ChuanqiXu wrote:
> > > thopre wrote:
> > > > ChuanqiXu wrote:
> > > > > I find NSS2 equals to NSS0, which is `#0`. It looks good to me if this could handle the inconsistency.
> > > > Only without split stack (second RUN line). With split stack I get:
> > > > 
> > > > 
> > > > ```
> > > > ; Function Attrs: noinline nounwind optnone uwtable mustprogress
> > > > define dso_local i32 @_Z3foov() #0 {
> > > > entry:
> > > >   ret i32 0
> > > > }
> > > > 
> > > > ; Function Attrs: noinline optnone uwtable mustprogress
> > > > define dso_local i32 @_Z7nosplitv() #1 {
> > > > entry:
> > > >   %call = call i32 @_Z8tnosplitIiEiv()
> > > >   ret i32 %call
> > > > }
> > > > 
> > > > ; Function Attrs: noinline nounwind optnone uwtable mustprogress
> > > > define linkonce_odr dso_local i32 @_Z8tnosplitIiEiv() #2 comdat {
> > > > entry:
> > > >   ret i32 0
> > > > }
> > > > 
> > > > ```
> > > Yeah, this is what I get without split stack:
> > > ```
> > > ; Function Attrs: noinline nounwind optnone uwtable mustprogress
> > > define dso_local i32 @_Z3foov() #0 {
> > > entry:
> > >   ret i32 0
> > > }
> > > 
> > > ; Function Attrs: noinline optnone uwtable mustprogress
> > > define dso_local i32 @_Z7nosplitv() #1 {
> > > entry:
> > >   %call = call i32 @_Z8tnosplitIiEiv()
> > >   ret i32 %call
> > > }
> > > 
> > > ; Function Attrs: noinline nounwind optnone uwtable mustprogress
> > > define linkonce_odr dso_local i32 @_Z8tnosplitIiEiv() #0 comdat {
> > > entry:
> > >   ret i32 0
> > > }
> > > 
> > > attributes #0 = { noinline nounwind optnone uwtable mustprogress "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
> > > attributes #1 = { noinline optnone uwtable mustprogress "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
> > > ```
> > > 
> > > My compiler version is latest trunk:2ea6ed9b70c6495342e39a7d1.
> > We get the same thing. The code I pasted about was *with* split stack. Since it's the same FileCheck directive with and without split stack it makes sense to keep NSS0 and NSS2 separate otherwise the split-stack case would fail.
> The FileCheck directive seems different with and without split stack. And the number of attributes is different from what we paste.
Ah my bad, you are absolutely right. Difference in attributes is not a problem since these are CHECK-NOT directives but I've changed it nonetheless.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99839/new/

https://reviews.llvm.org/D99839



More information about the cfe-commits mailing list