[LLVMdev] Loop localize global variables (original) (raw)
sundeepk at codeaurora.org sundeepk at codeaurora.org
Mon Jul 20 22:07:31 PDT 2015
- Previous message: [LLVMdev] 2015 LLVM Developers' Meeting Call for "Papers"
- Next message: [LLVMdev] Loop localize global variables
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello all,
I am writing to get some feedback on an optimization that I would like to upstream. The basic idea is to localize global variables inside loops so that it can be allocated into registers. For example, transform the following sequence
static int gbl_var; void foo() {
for () { ...access gbl_var... }
}
into something like
static int gbl_var; void foo() { int lcl_var;
lcl_var = gbl_var; for () { ...access clc_var... } gbl_var = lcl_var;
}
This transformation helps a couple of EEMBC benchmarks on both Aarch64 and Hexagon backends. I was wondering if there is interest to get this optimization upstreamed or if there is a better way of doing this.
Thanks, Sundeep
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
- Previous message: [LLVMdev] 2015 LLVM Developers' Meeting Call for "Papers"
- Next message: [LLVMdev] Loop localize global variables
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]