[llvm] b12176d - Revert "[llvm-reduce] add ReduceAttribute delta pass"

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 26 11:13:30 PDT 2020


Ping

On Mon, Feb 10, 2020 at 12:42 PM David Blaikie <dblaikie at gmail.com> wrote:

> Hey Nico - any ideas why this would be failing on Mac and not other
> platforms, or steps to reproduce a similar environment to the one it's
> failing under?
>
> On Wed, Feb 5, 2020 at 11:15 AM Nico Weber via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>>
>> Author: Nico Weber
>> Date: 2020-02-05T14:15:11-05:00
>> New Revision: b12176d2aafa0ccb2585aa218fc3b454ba84f2a9
>>
>> URL:
>> https://github.com/llvm/llvm-project/commit/b12176d2aafa0ccb2585aa218fc3b454ba84f2a9
>> DIFF:
>> https://github.com/llvm/llvm-project/commit/b12176d2aafa0ccb2585aa218fc3b454ba84f2a9.diff
>>
>> LOG: Revert "[llvm-reduce] add ReduceAttribute delta pass"
>>
>> This reverts commit fc62b36a000681c01e993242b583c5ec4ab48a3c.
>> Breaks tests on mac: http://45.33.8.238/mac/7301/step_11.txt
>>
>> Added:
>>
>>
>> Modified:
>>     llvm/tools/llvm-reduce/CMakeLists.txt
>>     llvm/tools/llvm-reduce/DeltaManager.h
>>     llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
>>
>> Removed:
>>     llvm/test/Reduce/Inputs/remove-attributes.py
>>     llvm/test/Reduce/remove-attributes.ll
>>     llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
>>     llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
>>
>>
>>
>> ################################################################################
>> diff  --git a/llvm/test/Reduce/Inputs/remove-attributes.py
>> b/llvm/test/Reduce/Inputs/remove-attributes.py
>> deleted file mode 100755
>> index af76dd4ba6b6..000000000000
>> --- a/llvm/test/Reduce/Inputs/remove-attributes.py
>> +++ /dev/null
>> @@ -1,7 +0,0 @@
>> -import sys
>> -
>> -for line in open(sys.argv[1], "r"):
>> -  if "use-soft-float" in line:
>> -    sys.exit(0) # Interesting!
>> -
>> -sys.exit(1)
>>
>> diff  --git a/llvm/test/Reduce/remove-attributes.ll
>> b/llvm/test/Reduce/remove-attributes.ll
>> deleted file mode 100644
>> index 4dc6ea168ba0..000000000000
>> --- a/llvm/test/Reduce/remove-attributes.ll
>> +++ /dev/null
>> @@ -1,16 +0,0 @@
>> -; Test that llvm-reduce can remove uninteresting attributes.
>> -;
>> -; RUN: rm -rf %t
>> -; RUN: llvm-reduce --test %python --test-arg
>> %p/Inputs/remove-attributes.py %s -o %t
>> -; RUN: cat %t | FileCheck  %s
>> -
>> -define void @a() #0 {
>> -  ret void
>> -}
>> -define void @b() #1 {
>> -  ret void
>> -}
>> -
>> -; CHECK: attributes #0 = { "use-soft-float"="false" }
>> -attributes #0 = { norecurse noreturn nounwind readnone uwtable
>> "correctly-rounded-divide-sqrt-fp-math"="false"
>> "disable-tail-calls"="false" "frame-pointer"="none"
>> "less-precise-fpmad"="false" "min-legal-vector-width"="0"
>> "no-infs-fp-math"="false" "no-jump-tables"="false"
>> "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false"
>> "no-trapping-math"="false" "patchable-function-entry"="2"
>> "stack-protector-buffer-size"="8" "target-cpu"="x86-64"
>> "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87"
>> "unsafe-fp-math"="false" "use-soft-float"="false" }
>> -attributes #1 = { norecurse }
>>
>> diff  --git a/llvm/tools/llvm-reduce/CMakeLists.txt
>> b/llvm/tools/llvm-reduce/CMakeLists.txt
>> index 359626f70ccc..48de0ffa78a1 100644
>> --- a/llvm/tools/llvm-reduce/CMakeLists.txt
>> +++ b/llvm/tools/llvm-reduce/CMakeLists.txt
>> @@ -14,13 +14,12 @@ add_llvm_tool(llvm-reduce
>>    llvm-reduce.cpp
>>    TestRunner.cpp
>>    deltas/Delta.cpp
>> -  deltas/ReduceArguments.cpp
>> -  deltas/ReduceAttributes.cpp
>> -  deltas/ReduceBasicBlocks.cpp
>>    deltas/ReduceFunctions.cpp
>>    deltas/ReduceGlobalVars.cpp
>> -  deltas/ReduceInstructions.cpp
>>    deltas/ReduceMetadata.cpp
>> +  deltas/ReduceArguments.cpp
>> +  deltas/ReduceBasicBlocks.cpp
>> +  deltas/ReduceInstructions.cpp
>>
>>    DEPENDS
>>    intrinsics_gen
>>
>> diff  --git a/llvm/tools/llvm-reduce/DeltaManager.h
>> b/llvm/tools/llvm-reduce/DeltaManager.h
>> index 595f13005da2..2309c3adf4e6 100644
>> --- a/llvm/tools/llvm-reduce/DeltaManager.h
>> +++ b/llvm/tools/llvm-reduce/DeltaManager.h
>> @@ -14,12 +14,11 @@
>>  #include "TestRunner.h"
>>  #include "deltas/Delta.h"
>>  #include "deltas/ReduceArguments.h"
>> -#include "deltas/ReduceAttributes.h"
>>  #include "deltas/ReduceBasicBlocks.h"
>>  #include "deltas/ReduceFunctions.h"
>>  #include "deltas/ReduceGlobalVars.h"
>> -#include "deltas/ReduceInstructions.h"
>>  #include "deltas/ReduceMetadata.h"
>> +#include "deltas/ReduceInstructions.h"
>>
>>  namespace llvm {
>>
>> @@ -31,7 +30,6 @@ inline void runDeltaPasses(TestRunner &Tester) {
>>    reduceMetadataDeltaPass(Tester);
>>    reduceArgumentsDeltaPass(Tester);
>>    reduceInstructionsDeltaPass(Tester);
>> -  reduceAttributesDeltaPass(Tester);
>>    // TODO: Implement the remaining Delta Passes
>>  }
>>
>>
>> diff  --git a/llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
>> b/llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
>> deleted file mode 100644
>> index ac8e0be58313..000000000000
>> --- a/llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
>> +++ /dev/null
>> @@ -1,61 +0,0 @@
>> -//===- ReduceAttributes.cpp - Specialized Delta Pass
>> ----------------------===//
>> -//
>> -// Part of the LLVM Project, under the Apache License v2.0 with LLVM
>> Exceptions.
>> -// See https://llvm.org/LICENSE.txt for license information.
>> -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
>> -//
>>
>> -//===----------------------------------------------------------------------===//
>> -//
>> -// This file implements a function which calls the Generic Delta pass in
>> order
>> -// to reduce Attributes in the provided Module.
>> -//
>>
>> -//===----------------------------------------------------------------------===//
>> -
>> -#include "ReduceAttributes.h"
>> -
>> -#include "Delta.h"
>> -#include "TestRunner.h"
>> -
>> -#include "llvm/IR/Attributes.h"
>> -#include "llvm/IR/Function.h"
>> -#include "llvm/IR/Module.h"
>> -
>> -#include <vector>
>> -
>> -static void removeAttr(llvm::Function &F, const llvm::Attribute &A) {
>> -  if (A.isStringAttribute())
>> -    F.removeFnAttr(A.getKindAsString());
>> -  else
>> -    F.removeFnAttr(A.getKindAsEnum());
>> -}
>> -
>> -static void extractAttributes(const std::vector<llvm::Chunk>
>> &ChunksToKeep,
>> -                              llvm::Module *M) {
>> -  int AttributeIndex = 0;
>> -  unsigned ChunkIndex = 0;
>> -  // TODO: global variables may also have attributes.
>> -  for (llvm::Function &F : M->getFunctionList()) {
>> -    for (const llvm::Attribute &A : F.getAttributes().getFnAttributes())
>> {
>> -      ++AttributeIndex;
>> -      if (!ChunksToKeep[ChunkIndex].contains(AttributeIndex))
>> -        removeAttr(F, A);
>> -      if (AttributeIndex == ChunksToKeep[ChunkIndex].end)
>> -        ++ChunkIndex;
>> -    }
>> -  }
>> -}
>> -
>> -static int countAttributes(llvm::Module *M) {
>> -  int TotalAttributeCount = 0;
>> -  for (const llvm::Function &F : M->getFunctionList())
>> -    TotalAttributeCount +=
>> -        F.getAttributes().getFnAttributes().getNumAttributes();
>> -  // TODO: global variables may also have attributes.
>> -  return TotalAttributeCount;
>> -}
>> -
>> -void llvm::reduceAttributesDeltaPass(TestRunner &Test) {
>> -  outs() << "*** Reducing Attributes...\n";
>> -  int AttributeCount = countAttributes(Test.getProgram());
>> -  runDeltaPass(Test, AttributeCount, extractAttributes);
>> -}
>>
>> diff  --git a/llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
>> b/llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
>> deleted file mode 100644
>> index 1a20a2bc8b54..000000000000
>> --- a/llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
>> +++ /dev/null
>> @@ -1,18 +0,0 @@
>> -//===- ReduceAttributes.h - Specialized Delta Pass
>> ------------------------===//
>> -//
>> -// Part of the LLVM Project, under the Apache License v2.0 with LLVM
>> Exceptions.
>> -// See https://llvm.org/LICENSE.txt for license information.
>> -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
>> -//
>>
>> -//===----------------------------------------------------------------------===//
>> -//
>> -// This file implements a function which calls the Generic Delta pass in
>> order
>> -// to reduce Attributes in the provided Module.
>> -//
>>
>> -//===----------------------------------------------------------------------===//
>> -
>> -#include "TestRunner.h"
>> -
>> -namespace llvm {
>> -void reduceAttributesDeltaPass(TestRunner &Test);
>> -} // namespace llvm
>>
>> diff  --git a/llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
>> b/llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
>> index 6fe10dcb15d2..b3497ad2dc02 100644
>> --- a/llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
>> +++ b/llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
>> @@ -59,7 +59,7 @@ static unsigned countInstructions(Module *Program) {
>>  }
>>
>>  void llvm::reduceInstructionsDeltaPass(TestRunner &Test) {
>> -  outs() << "*** Reducing Instructions...\n";
>> +  outs() << "*** Reducing Insructions...\n";
>>    unsigned InstCount = countInstructions(Test.getProgram());
>>    runDeltaPass(Test, InstCount, extractInstrFromModule);
>>  }
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200326/e00caeb1/attachment.html>


More information about the llvm-commits mailing list