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