165 changes: 0 additions & 165 deletions clang/test/OpenMP/assumes_codegen.cpp

This file was deleted.

70 changes: 0 additions & 70 deletions clang/test/OpenMP/assumes_include_nvptx.cpp

This file was deleted.

69 changes: 0 additions & 69 deletions clang/test/OpenMP/assumes_messages.c

This file was deleted.

44 changes: 0 additions & 44 deletions clang/test/OpenMP/assumes_print.cpp

This file was deleted.

91 changes: 0 additions & 91 deletions clang/test/OpenMP/assumes_template_print.cpp

This file was deleted.

3 changes: 0 additions & 3 deletions llvm/include/llvm/Frontend/OpenMP/OMP.td
Original file line number Diff line number Diff line change
Expand Up @@ -1593,9 +1593,6 @@ def OMP_Scan : Directive<"scan"> {
VersionedClause<OMPC_Exclusive, 50>
];
}
def OMP_Assumes : Directive<"assumes"> {}
def OMP_BeginAssumes : Directive<"begin assumes"> {}
def OMP_EndAssumes : Directive<"end assumes"> {}
def OMP_BeginDeclareVariant : Directive<"begin declare variant"> {}
def OMP_EndDeclareVariant : Directive<"end declare variant"> {}
def OMP_ParallelWorkshare : Directive<"parallel workshare"> {
Expand Down
28 changes: 0 additions & 28 deletions llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

#include "llvm/ADT/BitmaskEnum.h"

#include "llvm/ADT/StringRef.h"
#include "llvm/Frontend/OpenMP/OMP.h.inc"

namespace llvm {
Expand Down Expand Up @@ -80,33 +79,6 @@ enum class IdentFlag {
#define OMP_IDENT_FLAG(Enum, ...) constexpr auto Enum = omp::IdentFlag::Enum;
#include "llvm/Frontend/OpenMP/OMPKinds.def"

/// Helper to describe assume clauses.
struct AssumptionClauseMappingInfo {
/// The identifier describing the (beginning of the) clause.
llvm::StringLiteral Identifier;
/// Flag to determine if the identifier is a full name or the start of a name.
bool StartsWith;
/// Flag to determine if a directive lists follows.
bool HasDirectiveList;
/// Flag to determine if an expression follows.
bool HasExpression;
};

/// All known assume clauses.
static constexpr AssumptionClauseMappingInfo AssumptionClauseMappings[] = {
#define OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, \
HasExpression) \
{Identifier, StartsWith, HasDirectiveList, HasExpression},
#include "llvm/Frontend/OpenMP/OMPKinds.def"
};

inline std::string getAllAssumeClauseOptions() {
std::string S;
for (const AssumptionClauseMappingInfo &ACMI : AssumptionClauseMappings)
S += (S.empty() ? "'" : "', '") + ACMI.Identifier.str();
return S + "'";
}

} // end namespace omp

} // end namespace llvm
Expand Down
24 changes: 0 additions & 24 deletions llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
Original file line number Diff line number Diff line change
Expand Up @@ -1224,27 +1224,3 @@ OMP_LAST_TRAIT_PROPERTY(
#undef __OMP_REQUIRES_TRAIT
#undef OMP_REQUIRES_TRAIT
///}


/// Assumption clauses
///
///{

#ifdef OMP_ASSUME_CLAUSE
#define __OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, HasExpression) \
OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, HasExpression)
#else
#define __OMP_ASSUME_CLAUSE(...)
#endif

__OMP_ASSUME_CLAUSE("ext_", true, false, false)
__OMP_ASSUME_CLAUSE("absent", false, true, false)
__OMP_ASSUME_CLAUSE("contains", false, true, false)
__OMP_ASSUME_CLAUSE("holds", false, false, true)
__OMP_ASSUME_CLAUSE("no_openmp", false, false, false)
__OMP_ASSUME_CLAUSE("no_openmp_routines", false, false, false)
__OMP_ASSUME_CLAUSE("no_parallelism", false, false, false)

#undef __OMP_ASSUME_CLAUSE
#undef OMP_ASSUME_CLAUSE
///}
7 changes: 4 additions & 3 deletions llvm/include/llvm/Support/AlignOf.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ namespace llvm {
/// A suitably aligned and sized character array member which can hold elements
/// of any type.
///
/// These types may be arrays, structs, or any other types. This exposes a
/// `buffer` member which can be used as suitable storage for a placement new of
/// any of these types.
/// This template is equivalent to std::aligned_union_t<1, ...>, but we cannot
/// use it due to a bug in the MSVC x86 compiler:
/// https://github.com/microsoft/STL/issues/1533
/// Using `alignas` here works around the bug.
template <typename T, typename... Ts> struct AlignedCharArrayUnion {
using AlignedUnion = std::aligned_union_t<1, T, Ts...>;
alignas(alignof(AlignedUnion)) char buffer[sizeof(AlignedUnion)];
Expand Down