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

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to