aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-02-24 06:34:04 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-02-24 06:34:04 +0000
commit6eba1438ae905ca2a863dc32480712c8a6411aa3 (patch)
tree0379bdc0b8b4b1634a2152ac2916dbf5b0bc083c
parentf0b26b1d9dee57c84e55f05200802658a7312683 (diff)
Add a note about an IRgen optimization opportunity.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65376 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/README.txt8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/CodeGen/README.txt b/lib/CodeGen/README.txt
index ea2cf8cf0e..e4508c7b82 100644
--- a/lib/CodeGen/README.txt
+++ b/lib/CodeGen/README.txt
@@ -28,6 +28,12 @@ In theory, the same optimization could be a win for block local
variables as long as the declaration dominates all statements in the
block.
+NOTE: The main case we care about this for is for -O0 -g compile time
+performance, and in that scenario we will need to emit the alloca
+anyway currently to emit proper debug info. So this is blocked by
+being able to emit debug information which refers to an LLVM
+temporary, not an alloca.
+
//===---------------------------------------------------------------------===//
We should try and avoid generating basic blocks which only contain
@@ -36,7 +42,7 @@ instruction overhead), all the way down through code generation and
assembly time.
On 176.gcc:expr.ll, it looks like over 12% of basic blocks are just
-direct branches.
+direct branches!
//===---------------------------------------------------------------------===//