xref: /llvm-project/llvm/test/tools/opt/invalid-target.ll (revision 1f5a9d1d073bc0e566333b0758cadc465581ff9d)
1;; Check that invalid triples are handled correctly by opt.
2
3;; No diagnostics should be printed for an explicitly/implicitly empty triple
4; RUN: opt -S -passes=no-op-module -o /dev/null < %s 2>&1 | FileCheck %s --allow-empty --check-prefix=EMPTY
5; RUN: opt '-mtriple=' -S -passes=no-op-module -o /dev/null < %s 2>&1 | FileCheck %s --allow-empty --check-prefix=EMPTY
6; EMPTY-NOT: {{.+}}
7
8;; Using "unknown" as the architecture is explicitly allowed (but warns)
9; RUN: opt -mtriple=unknown -S -passes=no-op-module -o /dev/null < %s 2>&1 | FileCheck %s --check-prefix=UNKNOWN
10; UNKNOWN: warning: failed to infer data layout: unable to get target for 'unknown', see --version and --triple.
11
12;; However, any other invalid target triple should cause the tool to fail:
13; RUN: not opt -mtriple=invalid -S -passes=no-op-module -o /dev/null < %s 2>&1 | FileCheck %s --check-prefix=INVALID
14; INVALID: warning: failed to infer data layout: unable to get target for 'invalid', see --version and --triple.
15; INVALID-NEXT: unrecognized architecture 'invalid' provided.
16; INVALID-EMPTY:
17