[llvm] 2b896e3 - Revert "[Attributor] Enable heap-to-stack of any size"
William S. Moses via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 4 14:25:10 PST 2021
Author: William S. Moses
Date: 2021-03-04T17:24:56-05:00
New Revision: 2b896e39bfff70852ad709a9babe5d3654531ce6
URL: https://github.com/llvm/llvm-project/commit/2b896e39bfff70852ad709a9babe5d3654531ce6
DIFF: https://github.com/llvm/llvm-project/commit/2b896e39bfff70852ad709a9babe5d3654531ce6.diff
LOG: Revert "[Attributor] Enable heap-to-stack of any size"
This reverts commit 51bd42ef9b870787afbeeffcd33adce765f70f23.
Added:
Modified:
llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Removed:
llvm/test/Transforms/Attributor/lowerheap.ll
################################################################################
diff --git a/llvm/lib/Transforms/IPO/AttributorAttributes.cpp b/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
index 0fc1e969822e8..4157be82ffdfe 100644
--- a/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+++ b/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
@@ -5166,12 +5166,6 @@ ChangeStatus AAHeapToStackImpl::updateImpl(Attributor &A) {
}
if (IsMalloc) {
- if (MaxHeapToStackSize == -1) {
- if (UsesCheck(I) || FreeCheck(I)) {
- MallocCalls.insert(&I);
- return true;
- }
- }
if (auto *Size = dyn_cast<ConstantInt>(I.getOperand(0)))
if (Size->getValue().ule(MaxHeapToStackSize))
if (UsesCheck(I) || FreeCheck(I)) {
@@ -5179,12 +5173,6 @@ ChangeStatus AAHeapToStackImpl::updateImpl(Attributor &A) {
return true;
}
} else if (IsAlignedAllocLike && isa<ConstantInt>(I.getOperand(0))) {
- if (MaxHeapToStackSize == -1) {
- if (UsesCheck(I) || FreeCheck(I)) {
- MallocCalls.insert(&I);
- return true;
- }
- }
// Only if the alignment and sizes are constant.
if (auto *Size = dyn_cast<ConstantInt>(I.getOperand(1)))
if (Size->getValue().ule(MaxHeapToStackSize))
@@ -5193,12 +5181,6 @@ ChangeStatus AAHeapToStackImpl::updateImpl(Attributor &A) {
return true;
}
} else if (IsCalloc) {
- if (MaxHeapToStackSize == -1) {
- if (UsesCheck(I) || FreeCheck(I)) {
- MallocCalls.insert(&I);
- return true;
- }
- }
bool Overflow = false;
if (auto *Num = dyn_cast<ConstantInt>(I.getOperand(0)))
if (auto *Size = dyn_cast<ConstantInt>(I.getOperand(1)))
diff --git a/llvm/test/Transforms/Attributor/lowerheap.ll b/llvm/test/Transforms/Attributor/lowerheap.ll
deleted file mode 100644
index 5600dd7509bf3..0000000000000
--- a/llvm/test/Transforms/Attributor/lowerheap.ll
+++ /dev/null
@@ -1,35 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-attributes
-; RUN: opt -max-heap-to-stack-size=-1 -attributor -enable-new-pm=0 -attributor-manifest-internal -attributor-max-iterations-verify -attributor-annotate-decl-cs -attributor-max-iterations=1 -S < %s | FileCheck %s --check-prefixes=CHECK,NOT_CGSCC_NPM,NOT_CGSCC_OPM,NOT_TUNIT_NPM,IS__TUNIT____,IS________OPM,IS__TUNIT_OPM
-; RUN: opt -max-heap-to-stack-size=-1 -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -attributor-max-iterations-verify -attributor-annotate-decl-cs -attributor-max-iterations=1 -S < %s | FileCheck %s --check-prefixes=CHECK,NOT_CGSCC_OPM,NOT_CGSCC_NPM,NOT_TUNIT_OPM,IS__TUNIT____,IS________NPM,IS__TUNIT_NPM
-; RUN: opt -max-heap-to-stack-size=-1 -attributor-cgscc -enable-new-pm=0 -attributor-manifest-internal -attributor-annotate-decl-cs -S < %s | FileCheck %s --check-prefixes=CHECK,NOT_TUNIT_NPM,NOT_TUNIT_OPM,NOT_CGSCC_NPM,IS__CGSCC____,IS________OPM,IS__CGSCC_OPM
-; RUN: opt -max-heap-to-stack-size=-1 -aa-pipeline=basic-aa -passes=attributor-cgscc -attributor-manifest-internal -attributor-annotate-decl-cs -S < %s | FileCheck %s --check-prefixes=CHECK,NOT_TUNIT_NPM,NOT_TUNIT_OPM,NOT_CGSCC_OPM,IS__CGSCC____,IS________NPM,IS__CGSCC_NPM
-
-declare i64 @subfn(i8*) #0
-
-declare noalias i8* @malloc(i64)
-declare void @free(i8*)
-
-define i64 @f(i64 %len) {
-; IS________OPM-LABEL: define {{[^@]+}}@f
-; IS________OPM-SAME: (i64 [[LEN:%.*]]) {
-; IS________OPM-NEXT: entry:
-; IS________OPM-NEXT: [[MEM:%.*]] = call noalias i8* @malloc(i64 [[LEN]])
-; IS________OPM-NEXT: [[RES:%.*]] = call i64 @subfn(i8* [[MEM]]) [[ATTR1:#.*]]
-; IS________OPM-NEXT: call void @free(i8* [[MEM]])
-; IS________OPM-NEXT: ret i64 [[RES]]
-;
-; IS________NPM-LABEL: define {{[^@]+}}@f
-; IS________NPM-SAME: (i64 [[LEN:%.*]]) {
-; IS________NPM-NEXT: entry:
-; IS________NPM-NEXT: [[TMP0:%.*]] = alloca i8, i64 [[LEN]], align 1
-; IS________NPM-NEXT: [[RES:%.*]] = call i64 @subfn(i8* [[TMP0]]) [[ATTR1:#.*]]
-; IS________NPM-NEXT: ret i64 [[RES]]
-;
-entry:
- %mem = call i8* @malloc(i64 %len)
- %res = call i64 @subfn(i8* %mem)
- call void @free(i8* %mem)
- ret i64 %res
-}
-
-attributes #0 = { nounwind willreturn }
More information about the llvm-commits
mailing list