aboutsummaryrefslogtreecommitdiff
path: root/runtime/GCCLibraries
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-17 18:45:06 +0000
committerChris Lattner <sabre@nondot.org>2004-02-17 18:45:06 +0000
commit3c5df2612cbe7cca40a16d8ac411a94cc409a2da (patch)
treef1fb50320b81c3856ac3a3555eff0e09f6b29179 /runtime/GCCLibraries
parentcc0d2f586f87a6aef77514ee75dab67cbfc235cb (diff)
Since tail duplication is currently neutered, we have to help the optimizer to remove the overhead of __main
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11561 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'runtime/GCCLibraries')
-rw-r--r--runtime/GCCLibraries/crtend/crtend.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/runtime/GCCLibraries/crtend/crtend.c b/runtime/GCCLibraries/crtend/crtend.c
index 58f1bf5f9a..baac8a1b95 100644
--- a/runtime/GCCLibraries/crtend/crtend.c
+++ b/runtime/GCCLibraries/crtend/crtend.c
@@ -49,8 +49,9 @@ void __main(void) {
abort(); /* Should be able to install ONE atexit handler! */
/* FIXME: This should sort the list by priority! */
- for (; R->FP; ++R)
- R->FP();
+ if (R->FP)
+ for (; R->FP; ++R)
+ R->FP();
}
static void run_destructors(void) {