[PATCH] D68202: [LLVM IR] Add `vscale` as a symbolic constant.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 30 02:27:12 PDT 2019


sdesmalen created this revision.
sdesmalen added reviewers: rengolin, cameron.mcinally, hfinkel, sebpop.
Herald added a reviewer: deadalnix.

Scalable vector types are defined as `<vscale x #elts x #eltty>`,
where `vscale` itself is defined as a positive symbolic constant
of type integer. The value is unknown at compile time, but
guaranteed to be constant throughout the IR.

This patch adds `vscale` as a symbolic constant to the IR, similar to
`undef` and `zeroinitializer`, so that it can be used in constant
expressions.


https://reviews.llvm.org/D68202

Files:
  include/llvm-c/Core.h
  include/llvm/Bitcode/LLVMBitCodes.h
  include/llvm/IR/Constants.h
  include/llvm/IR/Value.def
  lib/AsmParser/LLParser.cpp
  lib/AsmParser/LLParser.h
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/IR/AsmWriter.cpp
  lib/IR/Constants.cpp
  lib/IR/LLVMContextImpl.cpp
  lib/IR/LLVMContextImpl.h
  test/Bitcode/compatibility.ll
  test/Feature/vscale-diagnostic.ll
  test/Feature/vscale-diagnostic2.ll
  test/Feature/vscale.ll
  utils/vim/syntax/llvm.vim

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68202.222363.patch
Type: text/x-patch
Size: 9794 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190930/aecc7da3/attachment.bin>


More information about the llvm-commits mailing list