Emit DeferredDeclsToEmit in a DFS order.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 22 Jan 2015 00:24:57 +0000 (00:24 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 22 Jan 2015 00:24:57 +0000 (00:24 +0000)
commite5df59ff78faebd897e81907606ce6074aac0df6
tree7f1ba19983a42f716c7643dd07244aa4a9531790
parent343e4964733d0063de2551a93d912b93880cada9
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.

llvm-svn: 226751
46 files changed:
clang/lib/CodeGen/CodeGenModule.cpp
clang/test/CXX/except/except.spec/p14-ir.cpp
clang/test/CXX/special/class.copy/p15-inclass.cpp
clang/test/CodeGen/2009-01-05-BlockInlining.c
clang/test/CodeGen/inline.c
clang/test/CodeGenCXX/catch-undef-behavior.cpp
clang/test/CodeGenCXX/constructor-init.cpp
clang/test/CodeGenCXX/constructor-template.cpp
clang/test/CodeGenCXX/copy-constructor-synthesis.cpp
clang/test/CodeGenCXX/cxx1y-init-captures.cpp
clang/test/CodeGenCXX/debug-info-template-member.cpp
clang/test/CodeGenCXX/debug-lambda-expressions.cpp
clang/test/CodeGenCXX/destructors.cpp
clang/test/CodeGenCXX/inheriting-constructor.cpp
clang/test/CodeGenCXX/key-function-vtable.cpp
clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
clang/test/CodeGenCXX/lambda-expressions.cpp
clang/test/CodeGenCXX/mangle-abi-examples.cpp
clang/test/CodeGenCXX/mangle-lambdas.cpp
clang/test/CodeGenCXX/mangle-local-class-vtables.cpp
clang/test/CodeGenCXX/mangle-local-classes-nested.cpp
clang/test/CodeGenCXX/mangle-ms-abi-examples.cpp
clang/test/CodeGenCXX/mangle-subst-std.cpp
clang/test/CodeGenCXX/member-functions.cpp
clang/test/CodeGenCXX/member-init-anon-union.cpp
clang/test/CodeGenCXX/microsoft-abi-methods.cpp
clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
clang/test/CodeGenCXX/microsoft-interface.cpp
clang/test/CodeGenCXX/pod-member-memcpys.cpp
clang/test/CodeGenCXX/rtti-linkage.cpp
clang/test/CodeGenCXX/static-init.cpp
clang/test/CodeGenCXX/static-local-in-local-class.cpp
clang/test/CodeGenCXX/template-anonymous-types.cpp
clang/test/CodeGenCXX/thunks.cpp
clang/test/CodeGenCXX/virtual-base-destructor-call.cpp
clang/test/CodeGenCXX/visibility.cpp
clang/test/CodeGenCXX/vla-lambda-capturing.cpp
clang/test/CodeGenCXX/vtable-pointer-initialization.cpp
clang/test/CodeGenCXX/vtt-layout.cpp
clang/test/CodeGenObjCXX/arc-special-member-functions.mm
clang/test/CodeGenObjCXX/destroy.mm
clang/test/CodeGenObjCXX/lambda-expressions.mm
clang/test/CodeGenObjCXX/mangle-blocks.mm
clang/test/Modules/cxx-irgen.cpp
clang/test/Modules/templates-2.mm
clang/test/SemaCXX/linkage.cpp