[PATCH] D41944: [LLVM][IR][LIT] support of 'no-overflow' flag for sdiv\udiv instructions

Mohammed Agabaria via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 12 07:19:29 PST 2018


magabari updated this revision to Diff 133859.
magabari added a comment.

minimized the patch by removing changes to some lit tests (it will be committed later as NFC patch)

Currently i am adding only the tests which have CHECK line for sdiv\udiv because the "new" AsmWriter always emit nof\mof attribute with sdiv\udiv instruction

Guys, what do you think about this?


https://reviews.llvm.org/D41944

Files:
  docs/LangRef.rst
  include/llvm/Analysis/TargetFolder.h
  include/llvm/Analysis/TargetTransformInfo.h
  include/llvm/Analysis/TargetTransformInfoImpl.h
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/CodeGen/Passes.h
  include/llvm/IR/ConstantFolder.h
  include/llvm/IR/Constants.h
  include/llvm/IR/IRBuilder.h
  include/llvm/IR/InstrTypes.h
  include/llvm/IR/Instruction.h
  include/llvm/IR/NoFolder.h
  include/llvm/IR/Operator.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  lib/Analysis/TargetTransformInfo.cpp
  lib/AsmParser/LLLexer.cpp
  lib/AsmParser/LLParser.cpp
  lib/AsmParser/LLToken.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/CodeGen/CMakeLists.txt
  lib/CodeGen/CodeGen.cpp
  lib/CodeGen/ScalarizeMayOverflowDiv.cpp
  lib/CodeGen/TargetPassConfig.cpp
  lib/IR/AsmWriter.cpp
  lib/IR/Constants.cpp
  lib/IR/Instruction.cpp
  lib/Target/X86/X86TargetTransformInfo.cpp
  lib/Target/X86/X86TargetTransformInfo.h
  lib/Transforms/InstCombine/InstCombineAddSub.cpp
  lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  lib/Transforms/InstCombine/InstCombineVectorOps.cpp
  lib/Transforms/InstCombine/InstructionCombining.cpp
  lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  lib/Transforms/Utils/SimplifyIndVar.cpp
  test/Analysis/CostModel/SystemZ/div-pow2.ll
  test/Analysis/CostModel/SystemZ/int-arith.ll
  test/Analysis/CostModel/SystemZ/memop-folding-int-arith.ll
  test/Analysis/Lint/check-zero-divide.ll
  test/Assembler/div_attrs.ll
  test/Assembler/div_not_allowed.ll
  test/Assembler/flags.ll
  test/Bitcode/binaryIntInstructions.3.2.ll
  test/Bitcode/compatibility-3.6.ll
  test/Bitcode/compatibility-3.7.ll
  test/Bitcode/compatibility-3.8.ll
  test/Bitcode/compatibility-3.9.ll
  test/Bitcode/compatibility-4.0.ll
  test/Bitcode/compatibility-5.0.ll
  test/Bitcode/compatibility.ll
  test/CodeGen/ARM/vector-promotion.ll
  test/CodeGen/X86/O0-pipeline.ll
  test/Instrumentation/DataFlowSanitizer/arith.ll
  test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-constant-numerator.ll
  test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-not-exact.ll
  test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-special-cases.ll
  test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div.ll
  test/Transforms/CodeGenPrepare/X86/select.ll
  test/Transforms/ConstantHoisting/ARM/bad-cases.ll
  test/Transforms/CorrelatedValuePropagation/sdiv.ll
  test/Transforms/DivRemPairs/PowerPC/div-rem-pairs.ll
  test/Transforms/DivRemPairs/X86/div-rem-pairs.ll
  test/Transforms/GVN/calls-readonly.ll
  test/Transforms/IRCE/bad_expander.ll
  test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
  test/Transforms/InstCombine/2008-02-16-SDivOverflow2.ll
  test/Transforms/InstCombine/2012-08-28-udiv_ashl.ll
  test/Transforms/InstCombine/apint-add.ll
  test/Transforms/InstCombine/apint-shift.ll
  test/Transforms/InstCombine/apint-sub.ll
  test/Transforms/InstCombine/demorgan.ll
  test/Transforms/InstCombine/div-shift.ll
  test/Transforms/InstCombine/div.ll
  test/Transforms/InstCombine/exact.ll
  test/Transforms/InstCombine/getelementptr.ll
  test/Transforms/InstCombine/hoist_instr.ll
  test/Transforms/InstCombine/icmp.ll
  test/Transforms/InstCombine/nsw.ll
  test/Transforms/InstCombine/preserve-sminmax.ll
  test/Transforms/InstCombine/rem.ll
  test/Transforms/InstCombine/select.ll
  test/Transforms/InstCombine/sext.ll
  test/Transforms/InstCombine/shift.ll
  test/Transforms/InstCombine/sink_instruction.ll
  test/Transforms/InstCombine/sub.ll
  test/Transforms/InstCombine/trunc-binop-ext.ll
  test/Transforms/InstCombine/udiv-simplify.ll
  test/Transforms/InstCombine/udivrem-change-width.ll
  test/Transforms/InstSimplify/compare.ll
  test/Transforms/InstSimplify/div.ll
  test/Transforms/InstSimplify/reassociate.ll
  test/Transforms/InstSimplify/signed-div-rem.ll
  test/Transforms/LICM/hoist-nounwind.ll
  test/Transforms/LICM/hoisting.ll
  test/Transforms/LICM/preheader-safe.ll
  test/Transforms/LICM/sinking.ll
  test/Transforms/LICM/speculate.ll
  test/Transforms/LoopPredication/basic.ll
  test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
  test/Transforms/LoopVectorize/AArch64/predication_costs.ll
  test/Transforms/LoopVectorize/AArch64/sdiv-pow2.ll
  test/Transforms/LoopVectorize/X86/powof2div.ll
  test/Transforms/LoopVectorize/X86/x86-predication.ll
  test/Transforms/LoopVectorize/if-pred-non-void.ll
  test/Transforms/LoopVectorize/if-pred-not-when-safe.ll
  test/Transforms/LoopVectorize/induction.ll
  test/Transforms/NewGVN/calls-readonly.ll
  test/Transforms/NewGVN/pr32838.ll
  test/Transforms/NewGVN/pr33185.ll
  test/Transforms/SLPVectorizer/AArch64/sdiv-pow2.ll
  test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
  test/Transforms/SLPVectorizer/X86/powof2div.ll
  test/Transforms/ScalarizeMayOverflowDiv/scalarize-may-overflow-div.ll
  test/Transforms/SimplifyCFG/ConditionalTrappingConstantExpr.ll
  test/Transforms/SimplifyCFG/div-rem-pairs.ll
  test/Transforms/SimplifyCFG/multiple-phis.ll
  test/Transforms/Util/PredicateInfo/pr33456.ll
  tools/llc/llc.cpp
  tools/opt/opt.cpp
  unittests/IR/ConstantsTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41944.133859.patch
Type: text/x-patch
Size: 275624 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180212/9f2a4308/attachment-0001.bin>


More information about the llvm-commits mailing list