Mercurial > hg > CbC > CbC_llvm
comparison docs/Passes.rst @ 134:3a76565eade5 LLVM5.0.1
update 5.0.1
author | mir3636 |
---|---|
date | Sat, 17 Feb 2018 09:57:20 +0900 |
parents | 1172e4bd9c6f |
children | c2174574ed3a |
comparison
equal
deleted
inserted
replaced
133:c60214abe0e8 | 134:3a76565eade5 |
---|---|
638 runtime library functions). For example, a call ``exit(3)`` that occurs within | 638 runtime library functions). For example, a call ``exit(3)`` that occurs within |
639 the ``main()`` function can be transformed into simply ``return 3``. Whether or | 639 the ``main()`` function can be transformed into simply ``return 3``. Whether or |
640 not library calls are simplified is controlled by the | 640 not library calls are simplified is controlled by the |
641 :ref:`-functionattrs <passes-functionattrs>` pass and LLVM's knowledge of | 641 :ref:`-functionattrs <passes-functionattrs>` pass and LLVM's knowledge of |
642 library calls on different targets. | 642 library calls on different targets. |
643 | |
644 .. _passes-aggressive-instcombine: | |
645 | |
646 ``-aggressive-instcombine``: Combine expression patterns | |
647 -------------------------------------------------------- | |
648 | |
649 Combine expression patterns to form expressions with fewer, simple instructions. | |
650 This pass does not modify the CFG. | |
651 | |
652 For example, this pass reduce width of expressions post-dominated by TruncInst | |
653 into smaller width when applicable. | |
654 | |
655 It differs from instcombine pass in that it contains pattern optimization that | |
656 requires higher complexity than the O(1), thus, it should run fewer times than | |
657 instcombine pass. | |
643 | 658 |
644 ``-internalize``: Internalize Global Symbols | 659 ``-internalize``: Internalize Global Symbols |
645 -------------------------------------------- | 660 -------------------------------------------- |
646 | 661 |
647 This pass loops over all of the functions in the input module, looking for a | 662 This pass loops over all of the functions in the input module, looking for a |