The tensorflow AOT compiler can cross-target, but it can't run on (for example) arm64. We added earlier support where the AOT-ed header and object would be built on a separate builder and then passed at build time to a build host where the AOT compiler can't run, but clang can be otherwise built. To simplify such scenarios given we now support more than one AOT-able case (regalloc and inliner), we make the AOT scenario centered on whether files are generated, case by case (this includes the "passed from a different builder" scenario). This means we shouldn't need an 'umbrella' LLVM_HAVE_TF_AOT, in favor of case by case control. A builder can opt out of an AOT case by passing that case's model path as `none`. Note that the overrides still take precedence. This patch controls conditional compilation with case-specific flags, which can be enabled locally, for the component where those are available. We still keep an overall flag for some tests. The 'development/training' mode is unchanged, because there the model is passed from the command line and interpreted. Differential Revision: https://reviews.llvm.org/D117752
20 lines
874 B
LLVM
20 lines
874 B
LLVM
; REQUIRES: have_tf_api
|
|
; REQUIRES: llvm_raevict_model_autogenerated
|
|
; REQUIRES: x86_64-linux
|
|
;
|
|
; Check that the same model (==the autogenerated one) produces the same output
|
|
; regardless of how it's evaluated, which is different from the default
|
|
;
|
|
; RUN: llc -mtriple=x86_64-linux-unknown -regalloc=greedy -regalloc-enable-advisor=default \
|
|
; RUN: %S/Inputs/input.ll -o %t.default
|
|
|
|
; RUN: llc -mtriple=x86_64-linux-unknown -regalloc=greedy -regalloc-enable-advisor=release \
|
|
; RUN: %S/Inputs/input.ll -o %t.release
|
|
|
|
; RUN: rm -rf %t && mkdir %t
|
|
; RUN: %python %S/../../../lib/Analysis/models/gen-regalloc-eviction-test-model.py %t
|
|
; RUN: llc -mtriple=x86_64-linux-unknown -regalloc=greedy -regalloc-enable-advisor=development \
|
|
; RUN: -regalloc-model=%t %S/Inputs/input.ll -o %t.development
|
|
; RUN: diff %t.release %t.development
|
|
; RUN: not diff %t.release %t.default
|