summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/constructors.cpp
diff options
context:
space:
mode:
authorSean Fertile <sfertile@ca.ibm.com>2018-10-15 15:43:00 +0000
committerSean Fertile <sfertile@ca.ibm.com>2018-10-15 15:43:00 +0000
commitd900dd0c23f2c2f15f0304ce8fbdac0409382d82 (patch)
tree74c9ffede39a454a72635a62d787f84beceadaa6 /clang/test/CodeGenCXX/constructors.cpp
parent4e970ff022920a04ba3a898b30e882ab4e95d41e (diff)
downloadbcm5719-llvm-d900dd0c23f2c2f15f0304ce8fbdac0409382d82.tar.gz
bcm5719-llvm-d900dd0c23f2c2f15f0304ce8fbdac0409382d82.zip
Revert "[CodeGenCXX] Treat 'this' as noalias in constructors"
This reverts commit https://reviews.llvm.org/rL344150 which causes MachineOutliner related failures on the ppc64le multistage buildbot. llvm-svn: 344526
Diffstat (limited to 'clang/test/CodeGenCXX/constructors.cpp')
-rw-r--r--clang/test/CodeGenCXX/constructors.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/clang/test/CodeGenCXX/constructors.cpp b/clang/test/CodeGenCXX/constructors.cpp
index d163ffeb6c4..9322c410f27 100644
--- a/clang/test/CodeGenCXX/constructors.cpp
+++ b/clang/test/CodeGenCXX/constructors.cpp
@@ -22,20 +22,20 @@ struct A {
A::A(struct Undeclared &ref) : mem(0) {}
// Check that delegation works.
-// NULL-INVALID-LABEL: define void @_ZN1AC2ER10Undeclared(%struct.A* noalias %this, %struct.Undeclared* nonnull %ref) unnamed_addr
-// NULL-VALID-LABEL: define void @_ZN1AC2ER10Undeclared(%struct.A* noalias %this, %struct.Undeclared* %ref) unnamed_addr
+// NULL-INVALID-LABEL: define void @_ZN1AC2ER10Undeclared(%struct.A* %this, %struct.Undeclared* nonnull %ref) unnamed_addr
+// NULL-VALID-LABEL: define void @_ZN1AC2ER10Undeclared(%struct.A* %this, %struct.Undeclared* %ref) unnamed_addr
// CHECK: call void @_ZN6MemberC1Ei(
-// NULL-INVALID-LABEL: define void @_ZN1AC1ER10Undeclared(%struct.A* noalias %this, %struct.Undeclared* nonnull %ref) unnamed_addr
-// NULL-VALID-LABEL: define void @_ZN1AC1ER10Undeclared(%struct.A* noalias %this, %struct.Undeclared* %ref) unnamed_addr
+// NULL-INVALID-LABEL: define void @_ZN1AC1ER10Undeclared(%struct.A* %this, %struct.Undeclared* nonnull %ref) unnamed_addr
+// NULL-VALID-LABEL: define void @_ZN1AC1ER10Undeclared(%struct.A* %this, %struct.Undeclared* %ref) unnamed_addr
// CHECK: call void @_ZN1AC2ER10Undeclared(
A::A(ValueClass v) : mem(v.y - v.x) {}
-// CHECK-LABEL: define void @_ZN1AC2E10ValueClass(%struct.A* noalias %this, i64 %v.coerce) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AC2E10ValueClass(%struct.A* %this, i64 %v.coerce) unnamed_addr
// CHECK: call void @_ZN6MemberC1Ei(
-// CHECK-LABEL: define void @_ZN1AC1E10ValueClass(%struct.A* noalias %this, i64 %v.coerce) unnamed_addr
+// CHECK-LABEL: define void @_ZN1AC1E10ValueClass(%struct.A* %this, i64 %v.coerce) unnamed_addr
// CHECK: call void @_ZN1AC2E10ValueClass(
/* Test that things work for inheritance. */
@@ -46,13 +46,13 @@ struct B : A {
B::B(struct Undeclared &ref) : A(ref), mem(1) {}
-// NULL-INVALID-LABEL: define void @_ZN1BC2ER10Undeclared(%struct.B* noalias %this, %struct.Undeclared* nonnull %ref) unnamed_addr
-// NULL-VALID-LABEL: define void @_ZN1BC2ER10Undeclared(%struct.B* noalias %this, %struct.Undeclared* %ref) unnamed_addr
+// NULL-INVALID-LABEL: define void @_ZN1BC2ER10Undeclared(%struct.B* %this, %struct.Undeclared* nonnull %ref) unnamed_addr
+// NULL-VALID-LABEL: define void @_ZN1BC2ER10Undeclared(%struct.B* %this, %struct.Undeclared* %ref) unnamed_addr
// CHECK: call void @_ZN1AC2ER10Undeclared(
// CHECK: call void @_ZN6MemberC1Ei(
-// NULL-INVALID-LABEL: define void @_ZN1BC1ER10Undeclared(%struct.B* noalias %this, %struct.Undeclared* nonnull %ref) unnamed_addr
-// NULL-VALID-LABEL: define void @_ZN1BC1ER10Undeclared(%struct.B* noalias %this, %struct.Undeclared* %ref) unnamed_addr
+// NULL-INVALID-LABEL: define void @_ZN1BC1ER10Undeclared(%struct.B* %this, %struct.Undeclared* nonnull %ref) unnamed_addr
+// NULL-VALID-LABEL: define void @_ZN1BC1ER10Undeclared(%struct.B* %this, %struct.Undeclared* %ref) unnamed_addr
// CHECK: call void @_ZN1BC2ER10Undeclared(
@@ -67,10 +67,10 @@ struct C : virtual A {
};
C::C(int x) : A(ValueClass(x, x+1)), mem(x * x) {}
-// CHECK-LABEL: define void @_ZN1CC2Ei(%struct.C* noalias %this, i8** %vtt, i32 %x) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CC2Ei(%struct.C* %this, i8** %vtt, i32 %x) unnamed_addr
// CHECK: call void @_ZN6MemberC1Ei(
-// CHECK-LABEL: define void @_ZN1CC1Ei(%struct.C* noalias %this, i32 %x) unnamed_addr
+// CHECK-LABEL: define void @_ZN1CC1Ei(%struct.C* %this, i32 %x) unnamed_addr
// CHECK: call void @_ZN10ValueClassC1Eii(
// CHECK: call void @_ZN1AC2E10ValueClass(
// CHECK: call void @_ZN6MemberC1Ei(
@@ -85,12 +85,12 @@ struct D : A {
D::D(int x, ...) : A(ValueClass(x, x+1)), mem(x*x) {}
-// CHECK-LABEL: define void @_ZN1DC2Eiz(%struct.D* noalias %this, i32 %x, ...) unnamed_addr
+// CHECK-LABEL: define void @_ZN1DC2Eiz(%struct.D* %this, i32 %x, ...) unnamed_addr
// CHECK: call void @_ZN10ValueClassC1Eii(
// CHECK: call void @_ZN1AC2E10ValueClass(
// CHECK: call void @_ZN6MemberC1Ei(
-// CHECK-LABEL: define void @_ZN1DC1Eiz(%struct.D* noalias %this, i32 %x, ...) unnamed_addr
+// CHECK-LABEL: define void @_ZN1DC1Eiz(%struct.D* %this, i32 %x, ...) unnamed_addr
// CHECK: call void @_ZN10ValueClassC1Eii(
// CHECK: call void @_ZN1AC2E10ValueClass(
// CHECK: call void @_ZN6MemberC1Ei(
@@ -100,7 +100,7 @@ namespace test0 {
struct A {};
struct B : virtual A { int x; };
struct C : B {};
-
+
void test(C &in) {
C tmp = in;
}
@@ -117,7 +117,7 @@ namespace test1 {
// Ensure that we
// a) emit the ABI-required but useless complete object and deleting destructor
-// symbols for an abstract class, and
+// symbols for an abstract class, and
// b) do *not* emit references to virtual base destructors for an abstract class
//
// Our approach to this is to give these functions a body that simply traps.
OpenPOWER on IntegriCloud