mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
[AIX] Turn -fdata-sections on by default in Clang
Summary: This patch does the following: 1. Make InitTargetOptionsFromCodeGenFlags() accepts Triple as a parameter, because some options' default value is triple dependant. 2. DataSections is turned on by default on AIX for llc. 3. Test cases change accordingly because of the default behaviour change. 4. Clang Driver passes in -fdata-sections by default on AIX. Reviewed By: MaskRay, DiggerLin Differential Revision: https://reviews.llvm.org/D88737
This commit is contained in:
parent
500c5cb174
commit
d77cbcb130
@ -771,6 +771,11 @@ public:
|
|||||||
return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment();
|
return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Tests whether the target uses -data-sections as default.
|
||||||
|
bool hasDefaultDataSections() const {
|
||||||
|
return isOSBinFormatXCOFF() || isWasm();
|
||||||
|
}
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
/// @name Mutators
|
/// @name Mutators
|
||||||
/// @{
|
/// @{
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
#include "llvm/ADT/FloatingPointMode.h"
|
#include "llvm/ADT/FloatingPointMode.h"
|
||||||
#include "llvm/ADT/StringExtras.h"
|
#include "llvm/ADT/StringExtras.h"
|
||||||
|
#include "llvm/ADT/Triple.h"
|
||||||
#include "llvm/IR/Instructions.h"
|
#include "llvm/IR/Instructions.h"
|
||||||
#include "llvm/IR/Intrinsics.h"
|
#include "llvm/IR/Intrinsics.h"
|
||||||
#include "llvm/MC/MCTargetOptionsCommandFlags.h"
|
#include "llvm/MC/MCTargetOptionsCommandFlags.h"
|
||||||
@ -134,9 +135,13 @@ struct RegisterCodeGenFlags {
|
|||||||
|
|
||||||
llvm::BasicBlockSection getBBSectionsMode(llvm::TargetOptions &Options);
|
llvm::BasicBlockSection getBBSectionsMode(llvm::TargetOptions &Options);
|
||||||
|
|
||||||
// Common utility function tightly tied to the options listed here. Initializes
|
/// Common utility function tightly tied to the options listed here. Initializes
|
||||||
// a TargetOptions object with CodeGen flags and returns it.
|
/// a TargetOptions object with CodeGen flags and returns it.
|
||||||
TargetOptions InitTargetOptionsFromCodeGenFlags();
|
/// \p TheTriple is used to determine the default value for options if
|
||||||
|
/// options are not explicitly specified. If those triple dependant options
|
||||||
|
/// value do not have effect for your component, a default Triple() could be
|
||||||
|
/// passed in.
|
||||||
|
TargetOptions InitTargetOptionsFromCodeGenFlags(const llvm::Triple &TheTriple);
|
||||||
|
|
||||||
std::string getCPUStr();
|
std::string getCPUStr();
|
||||||
|
|
||||||
|
@ -461,7 +461,8 @@ codegen::getBBSectionsMode(llvm::TargetOptions &Options) {
|
|||||||
|
|
||||||
// Common utility function tightly tied to the options listed here. Initializes
|
// Common utility function tightly tied to the options listed here. Initializes
|
||||||
// a TargetOptions object with CodeGen flags and returns it.
|
// a TargetOptions object with CodeGen flags and returns it.
|
||||||
TargetOptions codegen::InitTargetOptionsFromCodeGenFlags() {
|
TargetOptions
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(const Triple &TheTriple) {
|
||||||
TargetOptions Options;
|
TargetOptions Options;
|
||||||
Options.AllowFPOpFusion = getFuseFPOps();
|
Options.AllowFPOpFusion = getFuseFPOps();
|
||||||
Options.UnsafeFPMath = getEnableUnsafeFPMath();
|
Options.UnsafeFPMath = getEnableUnsafeFPMath();
|
||||||
@ -485,7 +486,8 @@ TargetOptions codegen::InitTargetOptionsFromCodeGenFlags() {
|
|||||||
Options.StackSymbolOrdering = getStackSymbolOrdering();
|
Options.StackSymbolOrdering = getStackSymbolOrdering();
|
||||||
Options.UseInitArray = !getUseCtors();
|
Options.UseInitArray = !getUseCtors();
|
||||||
Options.RelaxELFRelocations = getRelaxELFRelocations();
|
Options.RelaxELFRelocations = getRelaxELFRelocations();
|
||||||
Options.DataSections = getDataSections();
|
Options.DataSections =
|
||||||
|
getExplicitDataSections().getValueOr(TheTriple.hasDefaultDataSections());
|
||||||
Options.FunctionSections = getFunctionSections();
|
Options.FunctionSections = getFunctionSections();
|
||||||
Options.IgnoreXCOFFVisibility = getIgnoreXCOFFVisibility();
|
Options.IgnoreXCOFFVisibility = getIgnoreXCOFFVisibility();
|
||||||
Options.BBSections = getBBSectionsMode(Options);
|
Options.BBSections = getBBSectionsMode(Options);
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
; is implemnted.
|
; is implemnted.
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | \
|
; RUN: -mattr=-altivec -data-sections=false < %s | \
|
||||||
; RUN: FileCheck --check-prefix=ASM %s
|
; RUN: FileCheck --check-prefix=ASM %s
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | \
|
; RUN: -mattr=-altivec -data-sections=false < %s | \
|
||||||
; RUN: FileCheck --check-prefix=ASM %s
|
; RUN: FileCheck --check-prefix=ASM %s
|
||||||
|
|
||||||
@var = global i32 42
|
@var = global i32 42
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | FileCheck %s
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | FileCheck %s
|
||||||
|
|
||||||
@str = constant [256 x i8] c"\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F !\22#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7F\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00", align 1
|
@str = constant [256 x i8] c"\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F !\22#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7F\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00", align 1
|
||||||
|
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | FileCheck --check-prefixes=COMMON,BIT32 %s
|
; RUN: -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT32 %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | FileCheck --check-prefixes=COMMON,BIT64 %s
|
; RUN: -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT64 %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec -filetype=obj -o %t.o < %s
|
; RUN: -mattr=-altivec -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-readobj --symbols %t.o | FileCheck --check-prefix=CHECKSYM %s
|
; RUN: llvm-readobj --symbols %t.o | FileCheck --check-prefix=CHECKSYM %s
|
||||||
|
|
||||||
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
||||||
; RUN: -mattr=-altivec -filetype=obj -o %t.o 2>&1 < %s | FileCheck --check-prefix=XCOFF64 %s
|
; RUN: -mattr=-altivec -data-sections=false -filetype=obj -o %t.o 2>&1 < %s | \
|
||||||
|
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
||||||
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | FileCheck --check-prefixes=COMMON,BIT32 %s
|
; RUN: -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT32 %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | FileCheck --check-prefixes=COMMON,BIT64 %s
|
; RUN: -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT64 %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec -filetype=obj -o %t.o < %s
|
; RUN: -mattr=-altivec -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-readobj --symbols %t.o | FileCheck --check-prefix=CHECKSYM %s
|
; RUN: llvm-readobj --symbols %t.o | FileCheck --check-prefix=CHECKSYM %s
|
||||||
|
|
||||||
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
||||||
; RUN: -mattr=-altivec -filetype=obj -o %t.o 2>&1 < %s | FileCheck --check-prefix=XCOFF64 %s
|
; RUN: -mattr=-altivec -data-sections=false -filetype=obj -o %t.o 2>&1 < %s | FileCheck --check-prefix=XCOFF64 %s
|
||||||
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
||||||
|
|
||||||
@bar_p = global i32 (...)* @bar_ref, align 4
|
@bar_p = global i32 (...)* @bar_ref, align 4
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | \
|
; RUN: -mattr=-altivec -data-sections=false < %s | \
|
||||||
; RUN: FileCheck --check-prefix=VISIBILITY-ASM %s
|
; RUN: FileCheck --check-prefix=VISIBILITY-ASM %s
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec -ignore-xcoff-visibility < %s | \
|
; RUN: -mattr=-altivec -data-sections=false -ignore-xcoff-visibility < %s | \
|
||||||
; RUN: FileCheck --check-prefix=IGNOREVISIBILITY-ASM %s
|
; RUN: FileCheck --check-prefix=IGNOREVISIBILITY-ASM %s
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | \
|
; RUN: -mattr=-altivec -data-sections=false < %s | \
|
||||||
; RUN: FileCheck --check-prefix=VISIBILITY-ASM %s
|
; RUN: FileCheck --check-prefix=VISIBILITY-ASM %s
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec -ignore-xcoff-visibility < %s | \
|
; RUN: -mattr=-altivec -data-sections=false -ignore-xcoff-visibility < %s | \
|
||||||
; RUN: FileCheck --check-prefix=IGNOREVISIBILITY-ASM %s
|
; RUN: FileCheck --check-prefix=IGNOREVISIBILITY-ASM %s
|
||||||
|
|
||||||
@foo_p = global void ()* @zoo_extern_h, align 4
|
@foo_p = global void ()* @zoo_extern_h, align 4
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
# UNSUPPORTED: expensive_checks, debug
|
# UNSUPPORTED: expensive_checks, debug
|
||||||
|
|
||||||
# RUN: %python %s > %t.ll
|
# RUN: %python %s > %t.ll
|
||||||
# RUN: llc -mtriple powerpc-ibm-aix-xcoff -code-model=small -mcpu=pwr4 -mattr=-altivec -O0 < %t.ll | \
|
# RUN: llc -mtriple powerpc-ibm-aix-xcoff -code-model=small -data-sections=false -mcpu=pwr4 -mattr=-altivec -O0 < %t.ll | \
|
||||||
# RUN: FileCheck --check-prefix=ASM32 %s
|
# RUN: FileCheck --check-prefix=ASM32 %s
|
||||||
|
|
||||||
# RUN: llc -mtriple powerpc64-ibm-aix-xcoff -code-model=small -mcpu=pwr4 -mattr=-altivec -O0 < %t.ll | \
|
# RUN: llc -mtriple powerpc64-ibm-aix-xcoff -code-model=small -data-sections=false -mcpu=pwr4 -mattr=-altivec -O0 < %t.ll | \
|
||||||
# RUN: FileCheck --check-prefix=ASM64 %s
|
# RUN: FileCheck --check-prefix=ASM64 %s
|
||||||
|
|
||||||
# RUN: llc -mtriple powerpc-ibm-aix-xcoff -code-model=small -mcpu=pwr4 -mattr=-altivec -O0 \
|
# RUN: llc -mtriple powerpc-ibm-aix-xcoff -code-model=small -data-sections=false -mcpu=pwr4 -mattr=-altivec -O0 \
|
||||||
# RUN: -filetype=obj -o %t.o < %t.ll
|
# RUN: -filetype=obj -o %t.o < %t.ll
|
||||||
# RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck --check-prefix=DIS32 %s
|
# RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck --check-prefix=DIS32 %s
|
||||||
|
|
||||||
# RUN: not --crash llc -mtriple powerpc64-ibm-aix-xcoff \
|
# RUN: not --crash llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false \
|
||||||
# RUN: -mcpu=pwr4 -mattr=-altivec -filetype=obj -o %t.o 2>&1 < %t.ll | \
|
# RUN: -mcpu=pwr4 -mattr=-altivec -filetype=obj -o %t.o 2>&1 < %t.ll | \
|
||||||
# RUN: FileCheck --check-prefix=XCOFF64 %s
|
# RUN: FileCheck --check-prefix=XCOFF64 %s
|
||||||
# XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
# XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff --relocation-model=pic < %s | FileCheck %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff \
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff --relocation-model=pic < %s | FileCheck --check-prefix=CHECK64 %s
|
; RUN: --relocation-model=pic -data-sections=false < %s | FileCheck %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
||||||
|
; RUN: --relocation-model=pic -data-sections=false < %s | FileCheck --check-prefix=CHECK64 %s
|
||||||
|
|
||||||
@a = common global i32 0
|
@a = common global i32 0
|
||||||
@b = constant i32* @a
|
@b = constant i32* @a
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff \
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck --check-prefix=CHECK64 %s
|
; RUN: -data-sections=false < %s | FileCheck %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
||||||
|
; RUN: -data-sections=false < %s | FileCheck --check-prefix=CHECK64 %s
|
||||||
|
|
||||||
@foo_ptr = global void (...)* @foo
|
@foo_ptr = global void (...)* @foo
|
||||||
declare void @foo(...)
|
declare void @foo(...)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; RUN: llc -mcpu=pwr4 -mtriple=powerpc-ibm-aix-xcoff -verify-machineinstrs < %s | FileCheck %s
|
; RUN: llc -mcpu=pwr4 -mtriple=powerpc-ibm-aix-xcoff -verify-machineinstrs -data-sections=false < %s | FileCheck %s
|
||||||
; RUN: llc -mcpu=pwr4 -mtriple=powerpc-ibm-aix-xcoff -verify-machineinstrs -filetype=obj -o %t.o < %s
|
; RUN: llc -mcpu=pwr4 -mtriple=powerpc-ibm-aix-xcoff -verify-machineinstrs -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
||||||
; RUN: llvm-readobj -sections %t.o | FileCheck --check-prefix=CHECKSECT %s
|
; RUN: llvm-readobj -sections %t.o | FileCheck --check-prefix=CHECKSECT %s
|
||||||
|
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | FileCheck --check-prefixes=COMMON,BIT32 %s
|
; RUN: -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT32 %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | FileCheck --check-prefixes=COMMON,BIT64 %s
|
; RUN: -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT64 %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec -filetype=obj -o %t.o < %s
|
; RUN: -mattr=-altivec -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-readobj --symbols %t.o | FileCheck --check-prefix=CHECKSYM %s
|
; RUN: llvm-readobj --symbols %t.o | FileCheck --check-prefix=CHECKSYM %s
|
||||||
|
|
||||||
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
||||||
; RUN: -mattr=-altivec -filetype=obj -o %t.o 2>&1 < %s | FileCheck --check-prefix=XCOFF64 %s
|
; RUN: -mattr=-altivec -data-sections=false -filetype=obj -o %t.o 2>&1 < %s | \
|
||||||
|
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
||||||
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
||||||
|
|
||||||
@foo_weak_p = global void (...)* bitcast (void ()* @foo_ref_weak to void (...)*), align 4
|
@foo_weak_p = global void (...)* bitcast (void ()* @foo_ref_weak to void (...)*), align 4
|
||||||
|
@ -6,6 +6,24 @@
|
|||||||
; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
||||||
; RUN: llvm-readobj -syms %t.o | FileCheck --check-prefix=CHECKSYM %s
|
; RUN: llvm-readobj -syms %t.o | FileCheck --check-prefix=CHECKSYM %s
|
||||||
|
|
||||||
|
;; Test to see if the default is correct for -data-sections on AIX.
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | \
|
||||||
|
; RUN: FileCheck --check-prefixes=CHECK,CHECK32 %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s | \
|
||||||
|
; RUN: FileCheck --check-prefixes=CHECK,CHECK64 %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
|
||||||
|
; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
||||||
|
; RUN: llvm-readobj -syms %t.o | FileCheck --check-prefix=CHECKSYM %s
|
||||||
|
|
||||||
|
;; Test to see if the default is correct for -data-sections on AIX.
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | \
|
||||||
|
; RUN: FileCheck --check-prefixes=CHECK,CHECK32 %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s | \
|
||||||
|
; RUN: FileCheck --check-prefixes=CHECK,CHECK64 %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
|
||||||
|
; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
||||||
|
; RUN: llvm-readobj -syms %t.o | FileCheck --check-prefix=CHECKSYM %s
|
||||||
|
|
||||||
@ivar = local_unnamed_addr global i32 35, align 4
|
@ivar = local_unnamed_addr global i32 35, align 4
|
||||||
@const_ivar = constant i32 35, align 4
|
@const_ivar = constant i32 35, align 4
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
; This file tests the codegen of initialized and common variables in AIX
|
; This file tests the codegen of initialized and common variables in AIX
|
||||||
; assembly and XCOFF object files.
|
; assembly and XCOFF object files.
|
||||||
|
|
||||||
; RUN: llc -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck --check-prefixes=CHECK,CHECK32 %s
|
; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | FileCheck --check-prefixes=CHECK,CHECK32 %s
|
||||||
; RUN: llc -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck --check-prefixes=CHECK,CHECK64 %s
|
; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | FileCheck --check-prefixes=CHECK,CHECK64 %s
|
||||||
|
|
||||||
; RUN: llc -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
|
; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-readobj --section-headers --file-header %t.o | \
|
; RUN: llvm-readobj --section-headers --file-header %t.o | \
|
||||||
; RUN: FileCheck --check-prefix=OBJ %s
|
; RUN: FileCheck --check-prefix=OBJ %s
|
||||||
; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYMS %s
|
; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYMS %s
|
||||||
|
|
||||||
; RUN: not --crash llc -mtriple powerpc64-ibm-aix-xcoff -filetype=obj < %s 2>&1 | \
|
; RUN: not --crash llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false -filetype=obj < %s 2>&1 | \
|
||||||
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
||||||
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
||||||
|
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck --check-prefixes=CHECK,ASM32 %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | \
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck --check-prefixes=CHECK,ASM64 %s
|
; RUN: FileCheck --check-prefixes=CHECK,ASM32 %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | \
|
||||||
|
; RUN: FileCheck --check-prefixes=CHECK,ASM64 %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-readobj -r --expand-relocs -t %t.o | FileCheck --check-prefixes=RELOC,SYM %s
|
; RUN: llvm-readobj -r --expand-relocs -t %t.o | FileCheck --check-prefixes=RELOC,SYM %s
|
||||||
|
|
||||||
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -filetype=obj < %s 2>&1 | \
|
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff \
|
||||||
|
; RUN: -data-sections=false -filetype=obj < %s 2>&1 | \
|
||||||
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
||||||
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
||||||
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
; This file tests the codegen of mergeable const in AIX assembly.
|
; This file tests the codegen of mergeable const in AIX assembly.
|
||||||
; This file also tests mergeable const in XCOFF object file generation.
|
; This file also tests mergeable const in XCOFF object file generation.
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck --check-prefixes=CHECK,CHECK32 %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | \
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck --check-prefixes=CHECK,CHECK64 %s
|
; RUN: FileCheck --check-prefixes=CHECK,CHECK32 %s
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | \
|
||||||
|
; RUN: FileCheck --check-prefixes=CHECK,CHECK64 %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
||||||
; RUN: llvm-readobj -syms %t.o | FileCheck --check-prefix=CHECKSYM %s
|
; RUN: llvm-readobj -syms %t.o | FileCheck --check-prefix=CHECKSYM %s
|
||||||
|
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
; tests for XCOFF object files.
|
; tests for XCOFF object files.
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 \
|
||||||
; RUN: -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s
|
; RUN: -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | FileCheck %s
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 \
|
||||||
; RUN: -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s
|
; RUN: -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | FileCheck %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=CHECKOBJ %s
|
||||||
|
|
||||||
@magic16 = private unnamed_addr constant [4 x i16] [i16 264, i16 272, i16 213, i16 0], align 2
|
@magic16 = private unnamed_addr constant [4 x i16] [i16 264, i16 272, i16 213, i16 0], align 2
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -mattr=-altivec -filetype=obj -o %t.o < %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -mattr=-altivec -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-readobj --section-headers --file-header %t.o | \
|
; RUN: llvm-readobj --section-headers --file-header %t.o | \
|
||||||
; RUN: FileCheck --check-prefix=OBJ %s
|
; RUN: FileCheck --check-prefix=OBJ %s
|
||||||
; RUN: llvm-readobj --relocs --expand-relocs %t.o | FileCheck --check-prefix=RELOC %s
|
; RUN: llvm-readobj --relocs --expand-relocs %t.o | FileCheck --check-prefix=RELOC %s
|
||||||
@ -6,7 +6,7 @@
|
|||||||
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=DIS %s
|
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=DIS %s
|
||||||
; RUN: llvm-objdump -r %t.o | FileCheck --check-prefix=DIS_REL %s
|
; RUN: llvm-objdump -r %t.o | FileCheck --check-prefix=DIS_REL %s
|
||||||
|
|
||||||
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -mattr=-altivec -filetype=obj < %s 2>&1 | \
|
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -mattr=-altivec -data-sections=false -filetype=obj < %s 2>&1 | \
|
||||||
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
||||||
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
||||||
|
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck --check-prefixes=CHECK,CHECK32 %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | \
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck --check-prefixes=CHECK,CHECK64 %s
|
; RUN: FileCheck --check-prefixes=CHECK,CHECK32 %s
|
||||||
|
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | \
|
||||||
|
; RUN: FileCheck --check-prefixes=CHECK,CHECK64 %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
|
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-readobj --section-headers --file-header %t.o | \
|
; RUN: llvm-readobj --section-headers --file-header %t.o | \
|
||||||
; RUN: FileCheck --check-prefix=OBJ %s
|
; RUN: FileCheck --check-prefix=OBJ %s
|
||||||
; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYMS %s
|
; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYMS %s
|
||||||
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=DIS %s
|
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=DIS %s
|
||||||
|
|
||||||
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc64-ibm-aix-xcoff -filetype=obj < %s 2>&1 | \
|
; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc64-ibm-aix-xcoff -data-sections=false -filetype=obj < %s 2>&1 | \
|
||||||
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
; RUN: FileCheck --check-prefix=XCOFF64 %s
|
||||||
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
|
||||||
|
|
||||||
|
@ -4,11 +4,11 @@
|
|||||||
;; tests for 64-bit mode are omitted.
|
;; tests for 64-bit mode are omitted.
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec < %s | \
|
; RUN: -mattr=-altivec -data-sections=false < %s | \
|
||||||
; RUN: FileCheck --check-prefix=ASM %s
|
; RUN: FileCheck --check-prefix=ASM %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
|
||||||
; RUN: -mattr=-altivec -filetype=obj -o %t.o < %s
|
; RUN: -mattr=-altivec -data-sections=false -filetype=obj -o %t.o < %s
|
||||||
; RUN: llvm-objdump -D -r --symbol-description %t.o | \
|
; RUN: llvm-objdump -D -r --symbol-description %t.o | \
|
||||||
; RUN: FileCheck --check-prefix=OBJ %s
|
; RUN: FileCheck --check-prefix=OBJ %s
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
;; This test verifies llc on AIX would not crash when llvm.used and
|
;; This test verifies llc on AIX would not crash when llvm.used and
|
||||||
;; llvm.compiler.used is presented in the IR.
|
;; llvm.compiler.used is presented in the IR.
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | \
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | \
|
||||||
; RUN: FileCheck %s
|
; RUN: FileCheck %s
|
||||||
|
|
||||||
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s | \
|
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | \
|
||||||
; RUN: FileCheck %s
|
; RUN: FileCheck %s
|
||||||
|
|
||||||
@keep_this = internal global i32 2, align 4
|
@keep_this = internal global i32 2, align 4
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec < %s | \
|
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec -data-sections=false < %s | \
|
||||||
; RUN: FileCheck %s
|
; RUN: FileCheck %s
|
||||||
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec < %s |\
|
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec -data-sections=false < %s |\
|
||||||
; RUN: FileCheck %s
|
; RUN: FileCheck %s
|
||||||
|
|
||||||
@b = global i32 0, align 4
|
@b = global i32 0, align 4
|
||||||
|
@ -852,7 +852,7 @@ static std::unique_ptr<LTO> createLTO(IndexWriteCallback OnIndexWrite,
|
|||||||
ThinBackend Backend;
|
ThinBackend Backend;
|
||||||
|
|
||||||
Conf.CPU = options::mcpu;
|
Conf.CPU = options::mcpu;
|
||||||
Conf.Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
Conf.Options = codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
|
|
||||||
// Disable the new X86 relax relocations since gold might not support them.
|
// Disable the new X86 relax relocations since gold might not support them.
|
||||||
// FIXME: Check the gold version or add a new option to enable them.
|
// FIXME: Check the gold version or add a new option to enable them.
|
||||||
|
@ -426,7 +426,7 @@ static int compileModule(char **argv, LLVMContext &Context) {
|
|||||||
|
|
||||||
TargetOptions Options;
|
TargetOptions Options;
|
||||||
auto InitializeOptions = [&](const Triple &TheTriple) {
|
auto InitializeOptions = [&](const Triple &TheTriple) {
|
||||||
Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
Options = codegen::InitTargetOptionsFromCodeGenFlags(TheTriple);
|
||||||
Options.DisableIntegratedAS = NoIntegratedAssembler;
|
Options.DisableIntegratedAS = NoIntegratedAssembler;
|
||||||
Options.MCOptions.ShowMCEncoding = ShowMCEncoding;
|
Options.MCOptions.ShowMCEncoding = ShowMCEncoding;
|
||||||
Options.MCOptions.MCUseDwarfDirectory = EnableDwarfDirectory;
|
Options.MCOptions.MCUseDwarfDirectory = EnableDwarfDirectory;
|
||||||
|
@ -476,7 +476,8 @@ int main(int argc, char **argv, char * const *envp) {
|
|||||||
|
|
||||||
builder.setOptLevel(getOptLevel());
|
builder.setOptLevel(getOptLevel());
|
||||||
|
|
||||||
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple(TargetTriple));
|
||||||
if (codegen::getFloatABIForCalls() != FloatABI::Default)
|
if (codegen::getFloatABIForCalls() != FloatABI::Default)
|
||||||
Options.FloatABIType = codegen::getFloatABIForCalls();
|
Options.FloatABIType = codegen::getFloatABIForCalls();
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc,
|
|||||||
case '3': OLvl = CodeGenOpt::Aggressive; break;
|
case '3': OLvl = CodeGenOpt::Aggressive; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags(TheTriple);
|
||||||
TM.reset(TheTarget->createTargetMachine(
|
TM.reset(TheTarget->createTargetMachine(
|
||||||
TheTriple.getTriple(), CPUStr, FeaturesStr, Options,
|
TheTriple.getTriple(), CPUStr, FeaturesStr, Options,
|
||||||
codegen::getExplicitRelocModel(), codegen::getExplicitCodeModel(), OLvl));
|
codegen::getExplicitRelocModel(), codegen::getExplicitCodeModel(), OLvl));
|
||||||
|
@ -418,7 +418,7 @@ static void printMachOCPUOnly() {
|
|||||||
LLVMContext Context;
|
LLVMContext Context;
|
||||||
Context.setDiagnosticHandler(std::make_unique<LLVMLTODiagnosticHandler>(),
|
Context.setDiagnosticHandler(std::make_unique<LLVMLTODiagnosticHandler>(),
|
||||||
true);
|
true);
|
||||||
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
for (auto &Filename : InputFilenames) {
|
for (auto &Filename : InputFilenames) {
|
||||||
ErrorOr<std::unique_ptr<LTOModule>> ModuleOrErr =
|
ErrorOr<std::unique_ptr<LTOModule>> ModuleOrErr =
|
||||||
LTOModule::createFromFile(Context, Filename, Options);
|
LTOModule::createFromFile(Context, Filename, Options);
|
||||||
@ -907,7 +907,7 @@ int main(int argc, char **argv) {
|
|||||||
InitializeAllAsmParsers();
|
InitializeAllAsmParsers();
|
||||||
|
|
||||||
// set up the TargetOptions for the machine
|
// set up the TargetOptions for the machine
|
||||||
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
|
|
||||||
if (ListSymbolsOnly) {
|
if (ListSymbolsOnly) {
|
||||||
listSymbols(Options);
|
listSymbols(Options);
|
||||||
|
@ -230,7 +230,7 @@ static int run(int argc, char **argv) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
Conf.CPU = codegen::getMCPU();
|
Conf.CPU = codegen::getMCPU();
|
||||||
Conf.Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
Conf.Options = codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
Conf.MAttrs = codegen::getMAttrs();
|
Conf.MAttrs = codegen::getMAttrs();
|
||||||
if (auto RM = codegen::getExplicitRelocModel())
|
if (auto RM = codegen::getExplicitRelocModel())
|
||||||
Conf.RelocModel = RM.getValue();
|
Conf.RelocModel = RM.getValue();
|
||||||
|
@ -224,7 +224,8 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(TargetTriple);
|
||||||
TM.reset(TheTarget->createTargetMachine(
|
TM.reset(TheTarget->createTargetMachine(
|
||||||
TargetTriple.getTriple(), codegen::getCPUStr(), codegen::getFeaturesStr(),
|
TargetTriple.getTriple(), codegen::getCPUStr(), codegen::getFeaturesStr(),
|
||||||
Options, codegen::getExplicitRelocModel(),
|
Options, codegen::getExplicitRelocModel(),
|
||||||
|
@ -218,7 +218,8 @@ lto_module_is_object_file_in_memory_for_target(const void* mem,
|
|||||||
|
|
||||||
lto_module_t lto_module_create(const char* path) {
|
lto_module_t lto_module_create(const char* path) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
llvm::TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
llvm::TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
ErrorOr<std::unique_ptr<LTOModule>> M =
|
ErrorOr<std::unique_ptr<LTOModule>> M =
|
||||||
LTOModule::createFromFile(*LTOContext, StringRef(path), Options);
|
LTOModule::createFromFile(*LTOContext, StringRef(path), Options);
|
||||||
if (!M)
|
if (!M)
|
||||||
@ -228,7 +229,8 @@ lto_module_t lto_module_create(const char* path) {
|
|||||||
|
|
||||||
lto_module_t lto_module_create_from_fd(int fd, const char *path, size_t size) {
|
lto_module_t lto_module_create_from_fd(int fd, const char *path, size_t size) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
llvm::TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
llvm::TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
ErrorOr<std::unique_ptr<LTOModule>> M = LTOModule::createFromOpenFile(
|
ErrorOr<std::unique_ptr<LTOModule>> M = LTOModule::createFromOpenFile(
|
||||||
*LTOContext, fd, StringRef(path), size, Options);
|
*LTOContext, fd, StringRef(path), size, Options);
|
||||||
if (!M)
|
if (!M)
|
||||||
@ -241,7 +243,8 @@ lto_module_t lto_module_create_from_fd_at_offset(int fd, const char *path,
|
|||||||
size_t map_size,
|
size_t map_size,
|
||||||
off_t offset) {
|
off_t offset) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
llvm::TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
llvm::TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
ErrorOr<std::unique_ptr<LTOModule>> M = LTOModule::createFromOpenFileSlice(
|
ErrorOr<std::unique_ptr<LTOModule>> M = LTOModule::createFromOpenFileSlice(
|
||||||
*LTOContext, fd, StringRef(path), map_size, offset, Options);
|
*LTOContext, fd, StringRef(path), map_size, offset, Options);
|
||||||
if (!M)
|
if (!M)
|
||||||
@ -251,7 +254,8 @@ lto_module_t lto_module_create_from_fd_at_offset(int fd, const char *path,
|
|||||||
|
|
||||||
lto_module_t lto_module_create_from_memory(const void* mem, size_t length) {
|
lto_module_t lto_module_create_from_memory(const void* mem, size_t length) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
llvm::TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
llvm::TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
ErrorOr<std::unique_ptr<LTOModule>> M =
|
ErrorOr<std::unique_ptr<LTOModule>> M =
|
||||||
LTOModule::createFromBuffer(*LTOContext, mem, length, Options);
|
LTOModule::createFromBuffer(*LTOContext, mem, length, Options);
|
||||||
if (!M)
|
if (!M)
|
||||||
@ -263,7 +267,8 @@ lto_module_t lto_module_create_from_memory_with_path(const void* mem,
|
|||||||
size_t length,
|
size_t length,
|
||||||
const char *path) {
|
const char *path) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
llvm::TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
llvm::TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
ErrorOr<std::unique_ptr<LTOModule>> M = LTOModule::createFromBuffer(
|
ErrorOr<std::unique_ptr<LTOModule>> M = LTOModule::createFromBuffer(
|
||||||
*LTOContext, mem, length, Options, StringRef(path));
|
*LTOContext, mem, length, Options, StringRef(path));
|
||||||
if (!M)
|
if (!M)
|
||||||
@ -274,7 +279,8 @@ lto_module_t lto_module_create_from_memory_with_path(const void* mem,
|
|||||||
lto_module_t lto_module_create_in_local_context(const void *mem, size_t length,
|
lto_module_t lto_module_create_in_local_context(const void *mem, size_t length,
|
||||||
const char *path) {
|
const char *path) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
llvm::TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
llvm::TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
|
|
||||||
// Create a local context. Ownership will be transferred to LTOModule.
|
// Create a local context. Ownership will be transferred to LTOModule.
|
||||||
std::unique_ptr<LLVMContext> Context = std::make_unique<LLVMContext>();
|
std::unique_ptr<LLVMContext> Context = std::make_unique<LLVMContext>();
|
||||||
@ -293,7 +299,8 @@ lto_module_t lto_module_create_in_codegen_context(const void *mem,
|
|||||||
const char *path,
|
const char *path,
|
||||||
lto_code_gen_t cg) {
|
lto_code_gen_t cg) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
llvm::TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
llvm::TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
ErrorOr<std::unique_ptr<LTOModule>> M = LTOModule::createFromBuffer(
|
ErrorOr<std::unique_ptr<LTOModule>> M = LTOModule::createFromBuffer(
|
||||||
unwrap(cg)->getContext(), mem, length, Options, StringRef(path));
|
unwrap(cg)->getContext(), mem, length, Options, StringRef(path));
|
||||||
return wrap(M->release());
|
return wrap(M->release());
|
||||||
@ -356,7 +363,7 @@ void lto_codegen_set_diagnostic_handler(lto_code_gen_t cg,
|
|||||||
static lto_code_gen_t createCodeGen(bool InLocalContext) {
|
static lto_code_gen_t createCodeGen(bool InLocalContext) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
|
|
||||||
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags(Triple());
|
||||||
|
|
||||||
LibLTOCodeGenerator *CodeGen =
|
LibLTOCodeGenerator *CodeGen =
|
||||||
InLocalContext ? new LibLTOCodeGenerator(std::make_unique<LLVMContext>())
|
InLocalContext ? new LibLTOCodeGenerator(std::make_unique<LLVMContext>())
|
||||||
@ -507,7 +514,8 @@ void lto_codegen_set_should_embed_uselists(lto_code_gen_t cg,
|
|||||||
thinlto_code_gen_t thinlto_create_codegen(void) {
|
thinlto_code_gen_t thinlto_create_codegen(void) {
|
||||||
lto_initialize();
|
lto_initialize();
|
||||||
ThinLTOCodeGenerator *CodeGen = new ThinLTOCodeGenerator();
|
ThinLTOCodeGenerator *CodeGen = new ThinLTOCodeGenerator();
|
||||||
CodeGen->setTargetOptions(codegen::InitTargetOptionsFromCodeGenFlags());
|
CodeGen->setTargetOptions(
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(Triple()));
|
||||||
CodeGen->setFreestanding(EnableFreestanding);
|
CodeGen->setFreestanding(EnableFreestanding);
|
||||||
|
|
||||||
if (OptLevel.getNumOccurrences()) {
|
if (OptLevel.getNumOccurrences()) {
|
||||||
|
@ -698,7 +698,8 @@ int main(int argc, char **argv) {
|
|||||||
Triple ModuleTriple(M->getTargetTriple());
|
Triple ModuleTriple(M->getTargetTriple());
|
||||||
std::string CPUStr, FeaturesStr;
|
std::string CPUStr, FeaturesStr;
|
||||||
TargetMachine *Machine = nullptr;
|
TargetMachine *Machine = nullptr;
|
||||||
const TargetOptions Options = codegen::InitTargetOptionsFromCodeGenFlags();
|
const TargetOptions Options =
|
||||||
|
codegen::InitTargetOptionsFromCodeGenFlags(ModuleTriple);
|
||||||
|
|
||||||
if (ModuleTriple.getArch()) {
|
if (ModuleTriple.getArch()) {
|
||||||
CPUStr = codegen::getCPUStr();
|
CPUStr = codegen::getCPUStr();
|
||||||
|
Loading…
Reference in New Issue
Block a user