[IR] Adds mustprogress as a LLVM IR attribute
authorAtmn Patel <atmndp@gmail.com>
Tue, 20 Oct 2020 06:48:18 +0000 (02:48 -0400)
committerAtmn Patel <a335pate@uwaterloo.ca>
Tue, 20 Oct 2020 07:09:57 +0000 (03:09 -0400)
commit595c6156068458481395d0f87da16e51a3121a4e
treeb41c72c4bb5d576213b154983bfd0df27706ebeb
parent08c8d5bc51c512e605840b8003fcf38c86d0fc96
[IR] Adds mustprogress as a LLVM IR attribute

This adds the LLVM IR attribute `mustprogress` as defined in LangRef through D86233. This attribute will be applied to functions with in languages like C++ where forward progress is guaranteed. Functions without this attribute are not required to make progress.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D85393
15 files changed:
llvm/include/llvm/Bitcode/LLVMBitCodes.h
llvm/include/llvm/IR/Attributes.td
llvm/include/llvm/IR/Function.h
llvm/lib/AsmParser/LLLexer.cpp
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/AsmParser/LLToken.h
llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/lib/IR/Attributes.cpp
llvm/lib/IR/Verifier.cpp
llvm/lib/Transforms/Utils/CodeExtractor.cpp
llvm/test/Assembler/mustprogress-parse-error-0.ll [new file with mode: 0644]
llvm/test/Assembler/mustprogress-parse-error-1.ll [new file with mode: 0644]
llvm/test/Assembler/mustprogress-parse-error-2.ll [new file with mode: 0644]
llvm/test/Bitcode/attributes.ll