OSDN Git Service

Re-commit r319490 "XOR the frame pointer with the stack cookie when protecting the...
authorHans Wennborg <hans@hanshq.net>
Tue, 5 Dec 2017 20:22:20 +0000 (20:22 +0000)
committerHans Wennborg <hans@hanshq.net>
Tue, 5 Dec 2017 20:22:20 +0000 (20:22 +0000)
commite33d953beac93a595a11f11ca134df7049103851
tree1ad27629a8cea9672ee50441b4b13f8bd3b7c074
parentaa1ccb63b4e46390a8a0fc169c932ba3e8f899b5
Re-commit r319490 "XOR the frame pointer with the stack cookie when protecting the stack"

The patch originally broke Chromium (crbug.com/791714) due to its failing to
specify that the new pseudo instructions clobber EFLAGS. This commit fixes
that.

> Summary: This strengthens the guard and matches MSVC.
>
> Reviewers: hans, etienneb
>
> Subscribers: hiraditya, JDevlieghere, vlad.tsyrklevich, llvm-commits
>
> Differential Revision: https://reviews.llvm.org/D40622

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319824 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/TargetLowering.h
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/StackProtector.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrCompiler.td
lib/Target/X86/X86InstrInfo.cpp
test/CodeGen/X86/stack-protector-msvc.ll
test/CodeGen/X86/stack-protector-weight.ll