Dear all, I am currently working on defining the cost of an address calculation and I have an issue when the function is inlined. It seems that when the address cost is taken into account only sometimes.
Here is the test code that I am testing this on: long tab[2]; void foo(long x) { long i; for (i = 0; i < 2; i++) { tab[i] = x; } return; } long main() { int i; for (i = 0; i < 10; i++) { foo(i); } return 0; } I get for the function foo : la r6,tab std r8,8(r6) std r8,0(r6) and for main: std r7,tab std r7,tab+8 I want the version of foo because the store with an address as destination is costly on my architecture, which is why I defined TARGET_ADDRESS_COST and added a cost when I get this scenario. However, in the compilation of this code, it seems that, when the function is inlined, the address_cost function does not seem to be called anymore. Any ideas why ? Thanks in advance, Jean Christophe Beyler