FailedChanges

Summary

  1. [PowerPC] Fix test for PR45297 to adapt build without asserts. NFC. (details)
  2. [X86][MC] Fix the bug for prefix padding support (details)
  3. [MCInstPrinter] Add parameter `Address` to MCInstPrinter::printAliasInstr. NFC (details)
  4. [OpenMP][NFC] Outline common functionality (skipUntilPragmaOpenMPEnd) (details)
  5. [OpenMP][NFC] Open `llvm` and `llvm::omp` namespace in OpenMPClause.cpp (details)
  6. [OpenMP] `omp begin/end declare variant` - part 1, parsing (details)
  7. [OpenMP] `omp begin/end declare variant` - part 2, sema ("+CG") (details)
  8. [MCInstPrinter] Add parameter `Address` to printCustomAliasOperand. NFC (details)
  9. [Alignment][NFC] Update MachineMemOperand implementation to use MaybeAlign (details)
Commit 26b46b67d806a5299a93b1b3bca1548cb47487ff by lkail
[PowerPC] Fix test for PR45297 to adapt build without asserts. NFC.
The file was modifiedllvm/test/CodeGen/PowerPC/pr45297.ll
Commit 1fb4f99a215e4e912aa662fdb6e67c28e31051f0 by shengchen.kan
[X86][MC] Fix the bug for prefix padding support

Summary:
There is a tiny logic error of D75300, making branch is not
correctly aligned with option -x86-pad-max-prefix-size

Reviewers: reames, MaskRay, craig.topper, LuoYuanke, jyknight

Reviewed By: reames

Subscribers: hiraditya, llvm-commits, annita.zhang

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D76285
The file was modifiedllvm/test/MC/X86/align-branch-64-basic.s
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was addedllvm/test/MC/X86/align-branch-64-pad-max-prefix.s
Commit b3cc5dcef0f29f166fe33022858205a1243abd80 by maskray
[MCInstPrinter] Add parameter `Address` to MCInstPrinter::printAliasInstr. NFC

Follow-up of D72172.
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
The file was modifiedllvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
The file was modifiedllvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h
The file was modifiedllvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
The file was modifiedllvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
The file was modifiedllvm/utils/TableGen/AsmWriterEmitter.cpp
The file was modifiedllvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
The file was modifiedllvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
The file was modifiedllvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
The file was modifiedllvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
Commit 56d1553dd2cfc60b62c6e898a1dde18e4d6ebc71 by johannes
[OpenMP][NFC] Outline common functionality (skipUntilPragmaOpenMPEnd)

The same code was repeated multiple times, we put it in a function now.
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
Commit b29322435abd9aa802ccc68a57f89cb068ff8526 by johannes
[OpenMP][NFC] Open `llvm` and `llvm::omp` namespace in OpenMPClause.cpp
The file was modifiedclang/lib/AST/OpenMPClause.cpp
Commit 095cecbe0ded16f2e66435d938fdc3cb1869713f by johannes
[OpenMP] `omp begin/end declare variant` - part 1, parsing

This is the first part extracted from D71179 and cleaned up.

This patch provides parsing support for `omp begin/end declare variant`,
as defined in OpenMP technical report 8 (TR8) [0].

A major purpose of this patch is to provide proper math.h/cmath support
for OpenMP target offloading. See PR42061, PR42798, PR42799. The current
code was developed with this feature in mind, see [1].

[0] https://www.openmp.org/wp-content/uploads/openmp-TR8.pdf
[1] https://reviews.llvm.org/D61399#change-496lQkg0mhRN

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D74941
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was addedclang/test/OpenMP/begin_declare_variant_messages.c
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPContext.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was addedclang/test/OpenMP/begin-declare-variant_no_end_for_matching_selector.c
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant.c
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit befb4be3a89678cea1531d963c565cab05b731d4 by johannes
[OpenMP] `omp begin/end declare variant` - part 2, sema ("+CG")

This is the second part loosely extracted from D71179 and cleaned up.

This patch provides semantic analysis support for `omp begin/end declare
variant`, mostly as defined in OpenMP technical report 8 (TR8) [0].
The sema handling makes code generation obsolete as we generate "the
right" calls that can just be handled as usual. This handling also
applies to the existing, albeit problematic, `omp declare variant
support`. As a consequence a lot of unneeded code generation and
complexity is removed.

A major purpose of this patch is to provide proper `math.h`/`cmath`
support for OpenMP target offloading. See PR42061, PR42798, PR42799. The
current code was developed with this feature in mind, see [1].

The logic is as follows:

If we have seen a `#pragma omp begin declare variant match(<SELECTOR>)`
but not the corresponding `end declare variant`, and we find a function
definition we will:
  1) Create a function declaration for the definition we were about to generate.
  2) Create a function definition but with a mangled name (according to
     `<SELECTOR>`).
  3) Annotate the declaration with the `OMPDeclareVariantAttr`, the same
     one used already for `omp declare variant`, using and the mangled
     function definition as specialization for the context defined by
     `<SELECTOR>`.

When a call is created we inspect it. If the target has an
`OMPDeclareVariantAttr` attribute we try to specialize the call. To this
end, all variants are checked, the best applicable one is picked and a
new call to the specialization is created. The new call is used instead
of the original one to the base function. To keep the AST printing and
tooling possible we utilize the PseudoObjectExpr. The original call is
the syntactic expression, the specialized call is the semantic
expression.

[0] https://www.openmp.org/wp-content/uploads/openmp-TR8.pdf
[1] https://reviews.llvm.org/D61399#change-496lQkg0mhRN

Reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim, aaron.ballman

Subscribers: bollu, guansong, openmp-commits, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D75779
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_5.c
The file was addedclang/test/OpenMP/begin_declare_variant_using_messages.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/IdentifierTable.h
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_decl_1.c
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_8.c
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_addr_1.c
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/lib/Sema/SemaPseudoObject.cpp
The file was modifiedclang/lib/AST/DeclarationName.cpp
The file was modifiedclang/test/OpenMP/declare_variant_implementation_vendor_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_declare_variant_implementation_vendor_codegen.cpp
The file was addedclang/test/OpenMP/begin_declare_variant_elided_range_withouth_end.c
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_1.c
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_2.c
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/begin_declare_variant_messages.c
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.cpp
The file was modifiedclang/test/OpenMP/declare_variant_device_kind_codegen.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_3.c
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_4.c
The file was modifiedclang/include/clang/AST/Decl.h
The file was addedclang/test/OpenMP/begin_declare_variant_no_end_for_matching_selector.c
The file was removedclang/test/AST/ast-dump-openmp-begin-declare-variant.c
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was addedclang/test/OpenMP/begin_declare_variant_range_withouth_end.c
The file was modifiedclang/test/OpenMP/declare_variant_mixed_codegen.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_7.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/OpenMP/declare_variant_mixed_codegen.c
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_9.c
The file was removedclang/test/OpenMP/begin-declare-variant_no_end_for_matching_selector.c
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_6.c
Commit 6728a9ae1959a1c9519fed3d483733efeb8940a1 by maskray
[MCInstPrinter] Add parameter `Address` to printCustomAliasOperand. NFC

Follow-up of D72172 and llvmorg-11-init-6896-gb3cc5dcef0f.
The file was modifiedllvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
The file was modifiedllvm/utils/TableGen/AsmWriterEmitter.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h
The file was modifiedllvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.h
The file was modifiedllvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h
The file was modifiedllvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.h
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.h
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
Commit a98662f4c15e91b697e589ac93a39777a62bfb64 by gchatelet
[Alignment][NFC] Update MachineMemOperand implementation to use MaybeAlign

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Reviewed By: courbet

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D76625
The file was modifiedllvm/lib/CodeGen/MachineOperand.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineMemOperand.h