From 317876877c7c818c5cfd69da7bb45174b6ddadd4 Mon Sep 17 00:00:00 2001 From: Xi Wang Date: Tue, 21 May 2013 04:05:20 -0400 Subject: [PATCH] sparse, llvm: set more data attributes Set const, thread_local, and alignment for global variables. Signed-off-by: Xi Wang Signed-off-by: Pekka Enberg --- sparse-llvm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sparse-llvm.c b/sparse-llvm.c index e385d27c..92f1d0e7 100644 --- a/sparse-llvm.c +++ b/sparse-llvm.c @@ -1050,6 +1050,12 @@ static LLVMValueRef output_data(LLVMModuleRef module, struct symbol *sym) data = LLVMAddGlobal(module, LLVMTypeOf(initial_value), name); LLVMSetLinkage(data, data_linkage(sym)); + if (sym->ctype.modifiers & MOD_CONST) + LLVMSetGlobalConstant(data, 1); + if (sym->ctype.modifiers & MOD_TLS) + LLVMSetThreadLocal(data, 1); + if (sym->ctype.alignment) + LLVMSetAlignment(data, sym->ctype.alignment); if (!(sym->ctype.modifiers & MOD_EXTERN)) LLVMSetInitializer(data, initial_value); -- 2.11.4.GIT