[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 03:03:57 PDT 2021


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:
> > > 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.


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