diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-01-22 00:24:57 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-01-22 00:24:57 +0000 |
commit | 8b4659a973426fafb964574ecf2067e71d369257 (patch) | |
tree | bee9faf387fea7dede289cb2b89bb5b2cf72c583 /test/Modules/cxx-irgen.cpp | |
parent | 8450bb4c75e9d96d640a793d1be2bd1fe04e02f1 (diff) | |
download | clang-8b4659a973426fafb964574ecf2067e71d369257.tar.gz |
Emit DeferredDeclsToEmit in a DFS order.
Currently we emit DeferredDeclsToEmit in reverse order. This patch changes that.
The advantages of the change are that
* The output order is a bit closer to the source order. The change to
test/CodeGenCXX/pod-member-memcpys.cpp is a good example.
* If we decide to deffer more, it will not cause as large changes in the
estcases as it would without this patch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@226751 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Modules/cxx-irgen.cpp')
-rw-r--r-- | test/Modules/cxx-irgen.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/test/Modules/cxx-irgen.cpp b/test/Modules/cxx-irgen.cpp index ecaf704b87..13902bf926 100644 --- a/test/Modules/cxx-irgen.cpp +++ b/test/Modules/cxx-irgen.cpp @@ -5,7 +5,6 @@ @import cxx_irgen_top; -// CHECK-DAG: call {{[a-z]*[ ]?i32}} @_ZN8CtorInitIiE1fEv( CtorInit<int> x; @import cxx_irgen_left; @@ -34,23 +33,25 @@ int b = h(); // CHECK-DAG: define linkonce_odr {{signext i32|i32}} @_Z3minIiET_S0_S0_(i32 int c = min(1, 2); - -// CHECK-LABEL: define {{.*}} @_ZN20OperatorDeleteLookup1AD0Ev( -// CHECK: call void @_ZN20OperatorDeleteLookup1AdlEPv( +// CHECK: define available_externally {{signext i32|i32}} @_ZN1SIiE1fEv({{.*}} #[[ALWAYS_INLINE]] align namespace ImplicitSpecialMembers { - // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1DC2EOS0_( - // CHECK: call {{.*}} @_ZN22ImplicitSpecialMembers1AC1ERKS0_( - // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1DC2ERKS0_( + // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1BC2ERKS0_( // CHECK: call {{.*}} @_ZN22ImplicitSpecialMembers1AC1ERKS0_( - // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1CC2EOS0_( + // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1BC2EOS0_( // CHECK: call {{.*}} @_ZN22ImplicitSpecialMembers1AC1ERKS0_( // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1CC2ERKS0_( // CHECK: call {{.*}} @_ZN22ImplicitSpecialMembers1AC1ERKS0_( - // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1BC2EOS0_( + // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1CC2EOS0_( // CHECK: call {{.*}} @_ZN22ImplicitSpecialMembers1AC1ERKS0_( - // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1BC2ERKS0_( + // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1DC2ERKS0_( // CHECK: call {{.*}} @_ZN22ImplicitSpecialMembers1AC1ERKS0_( + // CHECK-LABEL: define {{.*}} @_ZN22ImplicitSpecialMembers1DC2EOS0_( + // CHECK: call {{.*}} @_ZN22ImplicitSpecialMembers1AC1ERKS0_( + // CHECK-LABEL: define {{.*}} @_ZN20OperatorDeleteLookup1AD0Ev( + // CHECK: call void @_ZN20OperatorDeleteLookup1AdlEPv( + + // CHECK-DAG: call {{[a-z]*[ ]?i32}} @_ZN8CtorInitIiE1fEv( extern B b1; B b2(b1); @@ -71,6 +72,5 @@ namespace OperatorDeleteLookup { void g() { f(); } } -// CHECK: define available_externally {{signext i32|i32}} @_ZN1SIiE1fEv({{.*}} #[[ALWAYS_INLINE]] align // CHECK: attributes #[[ALWAYS_INLINE]] = {{.*}} alwaysinline |