[all-commits] [llvm/llvm-project] 6c68f7: Prevent register coalescing in functions whith setjmp

dnsampaio via All-commits all-commits at lists.llvm.org
Fri May 15 16:36:51 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c68f75ee4d94710821b0d5041e1fb0441db144e
      https://github.com/llvm/llvm-project/commit/6c68f75ee4d94710821b0d5041e1fb0441db144e
  Author: Diogo Sampaio <diogo.sampaio at arm.com>
  Date:   2020-05-16 (Sat, 16 May 2020)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
    M llvm/test/CodeGen/X86/speculative-load-hardening-call-and-ret.ll

  Log Message:
  -----------
  Prevent register coalescing in functions whith setjmp

Summary:
In the the given example, a stack slot pointer is merged
between a setjmp and longjmp. This pointer is spilled,
so it does not get correctly restored, addinga undefined
behaviour where it shouldn't.

Change-Id: I60ec010844f2a24ce01ceccf12eb5eba5ab94abb

Reviewers: eli.friedman, thanm, efriedma

Reviewed By: efriedma

Subscribers: MatzeB, qcolombet, tpr, rnk, efriedma, hiraditya, llvm-commits, chill

Tags: #llvm

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




More information about the All-commits mailing list