[llvm-commits] [llvm-gcc-4.2] r61644 - in /llvm-gcc-4.2/trunk/gcc: c-parser.c cp/parser.c
Bill Wendling
isanbard at gmail.com
Sun Jan 4 14:53:24 PST 2009
Author: void
Date: Sun Jan 4 16:53:24 2009
New Revision: 61644
URL: http://llvm.org/viewvc/llvm-project?rev=61644&view=rev
Log:
This block_holder structure should be marked as READONLY so that LLVM will make
it a constant. This is correct because once this data structure is created and
assigned, it's no longer modified. This allows LLVM to inline "blocks" calls
from function pointers in that data structure.
Modified:
llvm-gcc-4.2/trunk/gcc/c-parser.c
llvm-gcc-4.2/trunk/gcc/cp/parser.c
Modified: llvm-gcc-4.2/trunk/gcc/c-parser.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-parser.c?rev=61644&r1=61643&r2=61644&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-parser.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-parser.c Sun Jan 4 16:53:24 2009
@@ -9841,8 +9841,12 @@
TREE_STATIC (block_holder_tmp_decl) = 1;
finish_decl (block_holder_tmp_decl, constructor, NULL_TREE);
}
- /* LLVM LOCAL radar 5865221 */
+ /* LLVM LOCAL begin radar 5865221 */
+#ifdef ENABLE_LLVM
TREE_CONSTANT (block_holder_tmp_decl) = 1;
+ TREE_READONLY (block_holder_tmp_decl) = 1;
+#endif
+ /* LLVM LOCAL end radar 5865221 */
return block_holder_tmp_decl;
}
/* APPLE LOCAL end radar 5847213 - radar 6329245 */
Modified: llvm-gcc-4.2/trunk/gcc/cp/parser.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/parser.c?rev=61644&r1=61643&r2=61644&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/parser.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/parser.c Sun Jan 4 16:53:24 2009
@@ -21037,8 +21037,12 @@
TREE_PUBLIC (block_holder_tmp_decl) = 0;
TREE_STATIC (block_holder_tmp_decl) = 1;
}
- /* LLVM LOCAL radar 5865221 */
+ /* LLVM LOCAL begin radar 5865221 */
+#ifdef ENABLE_LLVM
TREE_CONSTANT (block_holder_tmp_decl) = 1;
+ TREE_READONLY (block_holder_tmp_decl) = 1;
+#endif
+ /* LLVM LOCAL end radar 5865221 */
cp_finish_decl (block_holder_tmp_decl, constructor, 0, 0, LOOKUP_ONLYCONVERTING);
return block_holder_tmp_decl;
}
More information about the llvm-commits
mailing list