Commit 44d65ea1 authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Michael S. Tsirkin
Browse files

ringtest: use link-time optimization



By using -flto and -fwhole-program, all functions from the ring implementation
can be treated as static and possibly inlined.  Force this to happen through
the GCC flatten attribute.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 8424af53
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3,8 +3,8 @@ all:
all: ring virtio_ring_0_9 virtio_ring_poll virtio_ring_inorder ptr_ring noring

CFLAGS += -Wall
CFLAGS += -pthread -O2 -ggdb
LDFLAGS += -pthread -O2 -ggdb
CFLAGS += -pthread -O2 -ggdb -flto -fwhole-program
LDFLAGS += -pthread -O2 -ggdb -flto -fwhole-program

main.o: main.c main.h
ring.o: ring.c main.h
+2 −2
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ void set_affinity(const char *arg)
	assert(!ret);
}

static void run_guest(void)
static void __attribute__((__flatten__)) run_guest(void)
{
	int completed_before;
	int completed = 0;
@@ -149,7 +149,7 @@ static void run_guest(void)
	}
}

static void run_host(void)
static void __attribute__((__flatten__)) run_host(void)
{
	int completed_before;
	int completed = 0;