[all-commits] [llvm/llvm-project] 646896: Fix PR40644: miscompile indexed FP constant store

RoboTux via All-commits all-commits at lists.llvm.org
Tue Nov 5 03:08:18 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 646896a442249380f74ff404e6dd26687f3dc6d9
      https://github.com/llvm/llvm-project/commit/646896a442249380f74ff404e6dd26687f3dc6d9
  Author: Thomas Preud'homme <thomasp at graphcore.ai>
  Date:   2019-11-05 (Tue, 05 Nov 2019)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

  Log Message:
  -----------
  Fix PR40644: miscompile indexed FP constant store

Summary:
Functions replaceStoreOfFPConstant() and OptimizeFloatStore() both
replace store of float by a store of an integer unconditionally. However
this generates wrong code when the store that is replaced is an indexed
or truncating store. This commit solves this issue by adding an early
return in these functions when the store being considered is not a
normal store.

Bug was only observed on out of tree targets, hence the lack of testcase
in this commit.

Reviewers: efriedma

Subscribers: hiraditya, arphaman, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list