[all-commits] [llvm/llvm-project] b78c3c: [X86][MC][NFC] Reduce the parameters of functions ...

KanRobert via All-commits all-commits at lists.llvm.org
Sun Apr 19 19:04:10 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b78c3c89c26652b2219ecc92be9587b20593ec22
      https://github.com/llvm/llvm-project/commit/b78c3c89c26652b2219ecc92be9587b20593ec22
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2020-04-20 (Mon, 20 Apr 2020)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp

  Log Message:
  -----------
  [X86][MC][NFC] Reduce the parameters of functions in X86MCCodeEmitter(Part III)

Summary:
When we encode an instruction, we need to know the number of bytes being
emitted to determine the fixups in `X86MCCodeEmitter::emitImmediate`.
There are only two callers for `emitImmediate`: `emitMemModRMByte` and
`encodeInstruction`.

Before this patch, we kept track of the current byte being emitted
by passing a reference parameter `CurByte` across all the `emit*`
funtions, which is ugly and unnecessary. For example, we don't have any
fixups when emitting prefixes, so we don't need to track this value.

In this patch, we use `StartByte` to record the initial status of the
streamer, and use `OS.tell()` to get the current status of the streamer
when we need to know the number of bytes being emitted. On one hand,
this eliminates the parameter `CurByte` for most `emit*` functions, on
the other hand, this make things clear: Only pass the parameter when we
really need it.

Reviewers: craig.topper, pengfei, MaskRay

Reviewed By: craig.topper, MaskRay

Subscribers: hiraditya, llvm-commits, annita.zhang

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78419




More information about the All-commits mailing list