[all-commits] [llvm/llvm-project] a5c231: [lldb] Revive TestBasicEntryValuesX86_64

Pavel Labath via All-commits all-commits at lists.llvm.org
Mon May 11 07:31:25 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: a5c23179826a6dc4f26a4f3fcda66290bc04a201
      https://github.com/llvm/llvm-project/commit/a5c23179826a6dc4f26a4f3fcda66290bc04a201
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2020-05-11 (Mon, 11 May 2020)

  Changed paths:
    A lldb/test/API/functionalities/param_entry_vals/basic_entry_values/Makefile
    A lldb/test/API/functionalities/param_entry_vals/basic_entry_values/TestBasicEntryValues.py
    A lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
    R lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
    R lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py
    R lldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp

  Log Message:
  -----------
  [lldb] Revive TestBasicEntryValuesX86_64

Summary:
This function rewrites the test to be (hopefully) less susceptible to
codegen changes and re-enables it.

The most interesting changes are:
- use an __attribute__((optnone)) function instead of a volatile asm to
  "use" a value. This isn't strictly necessary, but it makes the
  function simpler while achieving the same effect.
- use a call to a function with the exact same signature instead of a
  volatile asm to "destroy" arguments. This makes the independent of the
  ABI, and (together with avoiding the usage of the arguments after the
  call) ensures that the compiler has no reason to move the argument
  from its initial register (previously we needed to guess where will
  the compiler store the arguments).

Reviewers: vsk, djtodoro, dblaikie

Subscribers: lldb-commits

Tags: #lldb

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




More information about the All-commits mailing list