-
Notifications
You must be signed in to change notification settings - Fork 15.4k
Closed as duplicate of#118474
Closed as duplicate of#118474
Copy link
Labels
Description
cat > test.c
typedef signed char sb;
void foo(sb);
void __attribute__((noinline)) bar(sb sb1, sb var2, sb var3, sb var4,
sb sb5)
{
foo(sb5);
}
void __attribute__((noinline)) test() {
bar(1, 2, 3, 4, 125);
}
bash-5.2$ clang -O2 seg.c -m32 -S -o seg.s
there is code as
.bar:
# %bb.0: # %entry
mflr 0
stwu 1, -64(1)
mr 3, 7
stw 0, 72(1)
bl .foo[PR]
nop
addi 1, 1, 64
lwz 0, 8(1)
mtlr 0
blr
.test:
# %bb.0: # %entry
mflr 0
stwu 1, -64(1)
li 3, 0
li 4, 0
li 5, 0
li 6, 0
stw 0, 72(1)
li 7, 125
bl .bar
nop
the asm code should be optimized out
li 3, 0
li 4, 0
li 5, 0
li 6, 0