Skip to content
  • Yonghong Song's avatar
    bpf: add " ll" in the LD_IMM64 asmstring · be9c0034
    Yonghong Song authored
    
    
    This partially revert previous fix in commit f5858045aa0b
    ("bpf: proper print imm64 expression in inst printer").
    
    In that commit, the original suffix "ll" is removed from
    LD_IMM64 asmstring. In the customer print method, the "ll"
    suffix is printed if the rhs is an immediate. For example,
    "r2 = 5ll" => "r2 = 5ll", and "r3 = varll" => "r3 = var".
    
    This has an issue though for assembler. Since assembler
    relies on asmstring to do pattern matching, it will not
    be able to distiguish between "mov r2, 5" and
    "ld_imm64 r2, 5" since both asmstring is "r2 = 5".
    In such cases, the assembler uses 64bit load for all
    "r = <val>" asm insts.
    
    This patch adds back " ll" suffix for ld_imm64 with one
    additional space for "#reg = #global_var" case.
    
    Signed-off-by: default avatarYonghong Song <yhs@fb.com>
    Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
    llvm-svn: 312978
    be9c0034
Loading