[PATCH] D53877: [IR] Strawman for dedicated FNeg IR instruction

Cameron McInally via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 30 11:01:42 PDT 2018


cameron.mcinally created this revision.
cameron.mcinally added reviewers: spatel, craig.topper, andrew.w.kaylor, kpn, uweigand, arsenm, t.p.northover, scanon, jyknight.
Herald added subscribers: llvm-commits, jfb, dexonsmith, steven_wu, wdng, mehdi_amini.
Herald added a reviewer: deadalnix.

This is a first whack at a dedicated FNeg IR instruction...

I've over-engineered the UnaryOperator class a little, with the intention of adding more Unary operations in the future. E.g. integer Neg (and maybe Abs, Copysign, etc.).

I don't work on some of these parts of LLVM, so I have some questions for the group. The majority are about reordering enums without breaking public interfaces. I'll comment on this code inline shortly.

Also, changing one of the operator enums appears to have exposed a bug in the MergeFuctions pass. I'll also comment on this inline.


Repository:
  rL LLVM

https://reviews.llvm.org/D53877

Files:
  include/llvm-c/Core.h
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/CodeGen/GlobalISel/IRTranslator.h
  include/llvm/IR/Constants.h
  include/llvm/IR/InstVisitor.h
  include/llvm/IR/Instruction.def
  include/llvm/IR/Instruction.h
  include/llvm/IR/Instructions.h
  lib/AsmParser/LLLexer.cpp
  lib/AsmParser/LLParser.cpp
  lib/AsmParser/LLParser.h
  lib/AsmParser/LLToken.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/CodeGen/GlobalISel/IRTranslator.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  lib/CodeGen/TargetLoweringBase.cpp
  lib/IR/Constants.cpp
  lib/IR/Instruction.cpp
  lib/IR/Instructions.cpp
  lib/IR/Verifier.cpp
  test/CodeGen/Generic/fneg-fabs.ll
  test/CodeGen/X86/vec_fneg.ll
  tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53877.171709.patch
Type: text/x-patch
Size: 39544 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181030/28a8a5c8/attachment.bin>


More information about the llvm-commits mailing list