mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-27 15:41:46 +00:00
[LTO] Fix fat-lto output for -c -emit-llvm. (#79404)
Fix and add a test case for combining '-ffat-lto-objects -c -emit-llvm' options and fix a spelling mistake in same test. (cherry picked from commit f1b1611148fa533fe198fec3fa4ef8139224dc80)
This commit is contained in:
parent
2d759eff89
commit
15aeb35c53
@ -4764,9 +4764,9 @@ Action *Driver::ConstructPhaseAction(
|
||||
case phases::Backend: {
|
||||
if (isUsingLTO() && TargetDeviceOffloadKind == Action::OFK_None) {
|
||||
types::ID Output;
|
||||
if (Args.hasArg(options::OPT_ffat_lto_objects))
|
||||
Output = Args.hasArg(options::OPT_emit_llvm) ? types::TY_LTO_IR
|
||||
: types::TY_PP_Asm;
|
||||
if (Args.hasArg(options::OPT_ffat_lto_objects) &&
|
||||
!Args.hasArg(options::OPT_emit_llvm))
|
||||
Output = types::TY_PP_Asm;
|
||||
else if (Args.hasArg(options::OPT_S))
|
||||
Output = types::TY_LTO_IR;
|
||||
else
|
||||
|
@ -23,11 +23,17 @@
|
||||
// CHECK-CC-S-EL-LTO-SAME: -emit-llvm
|
||||
// CHECK-CC-S-EL-LTO-SAME: -ffat-lto-objects
|
||||
|
||||
/// When fat LTO is enabled wihtout -S we expect native object output and -ffat-lto-object to be passed to cc1.
|
||||
/// When fat LTO is enabled without -S we expect native object output and -ffat-lto-object to be passed to cc1.
|
||||
// RUN: %clang --target=x86_64-unknown-linux-gnu -flto -ffat-lto-objects -### %s -c 2>&1 | FileCheck %s -check-prefix=CHECK-CC-C-LTO
|
||||
// CHECK-CC-C-LTO: -cc1
|
||||
// CHECK-CC-C-LTO: -emit-obj
|
||||
// CHECK-CC-C-LTO: -ffat-lto-objects
|
||||
// CHECK-CC-C-LTO-SAME: -emit-obj
|
||||
// CHECK-CC-C-LTO-SAME: -ffat-lto-objects
|
||||
|
||||
/// When fat LTO is enabled with -c and -emit-llvm we expect bitcode output and -ffat-lto-object to be passed to cc1.
|
||||
// RUN: %clang --target=x86_64-unknown-linux-gnu -flto -ffat-lto-objects -### %s -c -emit-llvm 2>&1 | FileCheck %s -check-prefix=CHECK-CC-C-EL-LTO
|
||||
// CHECK-CC-C-EL-LTO: -cc1
|
||||
// CHECK-CC-C-EL-LTO-SAME: -emit-llvm-bc
|
||||
// CHECK-CC-C-EL-LTO-SAME: -ffat-lto-objects
|
||||
|
||||
/// Make sure we don't have a warning for -ffat-lto-objects being unused
|
||||
// RUN: %clang --target=x86_64-unknown-linux-gnu -ffat-lto-objects -fdriver-only -Werror -v %s -c 2>&1 | FileCheck %s -check-prefix=CHECK-CC-NOLTO
|
||||
|
Loading…
Reference in New Issue
Block a user