diff options
author | Chris Lattner <sabre@nondot.org> | 2004-02-17 18:45:06 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-02-17 18:45:06 +0000 |
commit | 3c5df2612cbe7cca40a16d8ac411a94cc409a2da (patch) | |
tree | f1fb50320b81c3856ac3a3555eff0e09f6b29179 /runtime/GCCLibraries | |
parent | cc0d2f586f87a6aef77514ee75dab67cbfc235cb (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.c | 5 |
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) { |