diff options
author | Nick Desaulniers <ndesaulniers@google.com> | 2020-11-17 17:17:44 -0800 |
---|---|---|
committer | Nick Desaulniers <ndesaulniers@google.com> | 2020-11-17 17:27:14 -0800 |
commit | f4c6080ab820219c5bf78b0c2143e7fa194da296 (patch) | |
tree | f396fe0699171b36e03a76554abb301b558f46b9 /llvm/lib/Transforms/Utils/InlineFunction.cpp | |
parent | dd6087cac087046b5cd29a21e7fff2732fb35997 (diff) | |
download | llvm-f4c6080ab820219c5bf78b0c2143e7fa194da296.zip llvm-f4c6080ab820219c5bf78b0c2143e7fa194da296.tar.gz llvm-f4c6080ab820219c5bf78b0c2143e7fa194da296.tar.bz2 |
Revert "[IR] add fn attr for no_stack_protector; prevent inlining on mismatch"
This reverts commit b7926ce6d7a83cdf70c68d82bc3389c04009b841.
Going with a simpler approach.
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/InlineFunction.cpp | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/llvm/lib/Transforms/Utils/InlineFunction.cpp b/llvm/lib/Transforms/Utils/InlineFunction.cpp index 54c5825..05e6929 100644 --- a/llvm/lib/Transforms/Utils/InlineFunction.cpp +++ b/llvm/lib/Transforms/Utils/InlineFunction.cpp @@ -1667,22 +1667,6 @@ llvm::InlineResult llvm::InlineFunction(CallBase &CB, InlineFunctionInfo &IFI, return InlineResult::failure("incompatible GC"); } - // Inlining a function that explicitly should not have a stack protector may - // break the code if inlined into a function that does have a stack - // protector. - if (LLVM_UNLIKELY(Caller->hasFnAttribute(Attribute::NoStackProtect))) - if (CalledFunc->hasFnAttribute(Attribute::StackProtect) || - CalledFunc->hasFnAttribute(Attribute::StackProtectStrong) || - CalledFunc->hasFnAttribute(Attribute::StackProtectReq)) - return InlineResult::failure( - "stack protected callee but caller requested no stack protector"); - if (LLVM_UNLIKELY(CalledFunc->hasFnAttribute(Attribute::NoStackProtect))) - if (Caller->hasFnAttribute(Attribute::StackProtect) || - Caller->hasFnAttribute(Attribute::StackProtectStrong) || - Caller->hasFnAttribute(Attribute::StackProtectReq)) - return InlineResult::failure( - "stack protected caller but callee requested no stack protector"); - // Get the personality function from the callee if it contains a landing pad. Constant *CalledPersonality = CalledFunc->hasPersonalityFn() |