int __sx25_read_config_parameters(int linkid, struct config_ident *ipt,
                                  struct LINK_config_data *lpt,
                                  struct X25_config_data *xpt,
                                  struct MLP_config_data *mpt,
                                  struct LAPB_config_data *lbp,
                                  struct LLC2_config_data *l2p,
                                  struct WAN_config_data *wpt, int *flags) {
  (void)linkid;
  (void)ipt;
  (void)lpt;
  (void)xpt;
  (void)mpt;
  (void)lbp;
  (void)l2p;
  (void)wpt;
  (void)flags;
  return (0);
}


x86 assembly (clang, -O0):
<__sx25_read_config_parameters>:
push   %rbp
mov    %rsp,%rbp
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<__sx25_read_config_parameters>:
xor    %eax,%eax
ret

LLVM IR (-O0):
%struct.config_ident = type opaque
%struct.LINK_config_data = type opaque
%struct.X25_config_data = type opaque
%struct.MLP_config_data = type opaque
%struct.LAPB_config_data = type opaque
%struct.LLC2_config_data = type opaque
%struct.WAN_config_data = type opaque
define i32 @__sx25_read_config_parameters(i32 %0, %struct.config_ident* %1, %struct.LINK_config_data* %2, %struct.X25_config_data* %3, %struct.MLP_config_data* %4, %struct.LAPB_config_data* %5, %struct.LLC2_config_data* %6, %struct.WAN_config_data* %7, i32* %8) {
%10 = alloca i32
%11 = alloca %struct.config_ident*
%12 = alloca %struct.LINK_config_data*
%13 = alloca %struct.X25_config_data*
%14 = alloca %struct.MLP_config_data*
%15 = alloca %struct.LAPB_config_data*
%16 = alloca %struct.LLC2_config_data*
%17 = alloca %struct.WAN_config_data*
%18 = alloca i32*
store i32 %0, i32* %10
store %struct.config_ident* %1, %struct.config_ident** %11
store %struct.LINK_config_data* %2, %struct.LINK_config_data** %12
store %struct.X25_config_data* %3, %struct.X25_config_data** %13
store %struct.MLP_config_data* %4, %struct.MLP_config_data** %14
store %struct.LAPB_config_data* %5, %struct.LAPB_config_data** %15
store %struct.LLC2_config_data* %6, %struct.LLC2_config_data** %16
store %struct.WAN_config_data* %7, %struct.WAN_config_data** %17
store i32* %8, i32** %18
%19 = load i32, i32* %10
%20 = load %struct.config_ident*, %struct.config_ident** %11
%21 = load %struct.LINK_config_data*, %struct.LINK_config_data** %12
%22 = load %struct.X25_config_data*, %struct.X25_config_data** %13
%23 = load %struct.MLP_config_data*, %struct.MLP_config_data** %14
%24 = load %struct.LAPB_config_data*, %struct.LAPB_config_data** %15
%25 = load %struct.LLC2_config_data*, %struct.LLC2_config_data** %16
%26 = load %struct.WAN_config_data*, %struct.WAN_config_data** %17
%27 = load i32*, i32** %18
ret i32 0
}

LLVM IR (-O2):
%struct.config_ident = type opaque
%struct.LINK_config_data = type opaque
%struct.X25_config_data = type opaque
%struct.MLP_config_data = type opaque
%struct.LAPB_config_data = type opaque
%struct.LLC2_config_data = type opaque
%struct.WAN_config_data = type opaque
define i32 @__sx25_read_config_parameters(i32 %0, %struct.config_ident* nocapture readnone %1, %struct.LINK_config_data* nocapture readnone %2, %struct.X25_config_data* nocapture readnone %3, %struct.MLP_config_data* nocapture readnone %4, %struct.LAPB_config_data* nocapture readnone %5, %struct.LLC2_config_data* nocapture readnone %6, %struct.WAN_config_data* nocapture readnone %7, i32* nocapture readnone %8) {
ret i32 0
}