mirror of
https://github.com/RPCS3/llvm.git
synced 2025-04-08 00:01:37 +00:00
Hexagon: Fix a nasty order-of-initialization bug.
Reenable the tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146750 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c104cf2002
commit
903456245b
@ -56,7 +56,7 @@ HexagonTargetMachine::HexagonTargetMachine(const Target &T, StringRef TT,
|
|||||||
CodeGenOpt::Level OL)
|
CodeGenOpt::Level OL)
|
||||||
: LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
|
: LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
|
||||||
DataLayout("e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-a0:0") ,
|
DataLayout("e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-a0:0") ,
|
||||||
Subtarget(TT, CPU, FS), TLInfo(*this), InstrInfo(Subtarget),
|
Subtarget(TT, CPU, FS), InstrInfo(Subtarget), TLInfo(*this),
|
||||||
TSInfo(*this),
|
TSInfo(*this),
|
||||||
FrameLowering(Subtarget),
|
FrameLowering(Subtarget),
|
||||||
InstrItins(&Subtarget.getInstrItineraryData()) {
|
InstrItins(&Subtarget.getInstrItineraryData()) {
|
||||||
|
@ -29,8 +29,8 @@ class Module;
|
|||||||
class HexagonTargetMachine : public LLVMTargetMachine {
|
class HexagonTargetMachine : public LLVMTargetMachine {
|
||||||
const TargetData DataLayout; // Calculates type size & alignment.
|
const TargetData DataLayout; // Calculates type size & alignment.
|
||||||
HexagonSubtarget Subtarget;
|
HexagonSubtarget Subtarget;
|
||||||
HexagonTargetLowering TLInfo;
|
|
||||||
HexagonInstrInfo InstrInfo;
|
HexagonInstrInfo InstrInfo;
|
||||||
|
HexagonTargetLowering TLInfo;
|
||||||
HexagonSelectionDAGInfo TSInfo;
|
HexagonSelectionDAGInfo TSInfo;
|
||||||
HexagonFrameLowering FrameLowering;
|
HexagonFrameLowering FrameLowering;
|
||||||
const InstrItineraryData* InstrItins;
|
const InstrItineraryData* InstrItins;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
; CHECK: r[[T0:[0-9]+]] = #7
|
; CHECK: r[[T0:[0-9]+]] = #7
|
||||||
; CHECK: memw(r29 + #0) = r[[T0]]
|
; CHECK: memw(r29 + #0) = r[[T0]]
|
||||||
; CHECK: r0 = #1
|
; CHECK: r0 = #1
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
; CHECK: combine(r{{[0-9]+}}, r{{[0-9]+}})
|
; CHECK: combine(r{{[0-9]+}}, r{{[0-9]+}})
|
||||||
|
|
||||||
@j = external global i32
|
@j = external global i32
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
; CHECK: __hexagon_adddf3
|
; CHECK: __hexagon_adddf3
|
||||||
; CHECK: __hexagon_subdf3
|
; CHECK: __hexagon_subdf3
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
; CHECK: __hexagon_addsf3
|
; CHECK: __hexagon_addsf3
|
||||||
; CHECK: __hexagon_subsf3
|
; CHECK: __hexagon_subsf3
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
|
|
||||||
@num = external global i32
|
@num = external global i32
|
||||||
@acc = external global i32
|
@acc = external global i32
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
; CHECK: += mpyi
|
; CHECK: += mpyi
|
||||||
|
|
||||||
define void @foo(i32 %acc, i32 %num, i32 %num2) nounwind {
|
define void @foo(i32 %acc, i32 %num, i32 %num2) nounwind {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
|
|
||||||
@num = external global i32
|
@num = external global i32
|
||||||
@acc = external global i32
|
@acc = external global i32
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
; CHECK: r1:0 = or(r{{[0-9]}}:{{[0-9]}}, r{{[0-9]}}:{{[0-9]}})
|
; CHECK: r1:0 = or(r{{[0-9]}}:{{[0-9]}}, r{{[0-9]}}:{{[0-9]}})
|
||||||
|
|
||||||
%struct.small = type { i32, i32 }
|
%struct.small = type { i32, i32 }
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
; CHECK: r[[T0:[0-9]+]] = CONST32(#s2)
|
; CHECK: r[[T0:[0-9]+]] = CONST32(#s2)
|
||||||
; CHECK: r[[T1:[0-9]+]] = memw(r[[T0]] + #0)
|
; CHECK: r[[T1:[0-9]+]] = memw(r[[T0]] + #0)
|
||||||
; CHECK: memw(r29 + #0) = r[[T1]]
|
; CHECK: memw(r29 + #0) = r[[T1]]
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
; RUN: true
|
; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
||||||
; DISABLED: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
|
|
||||||
; CHECK: vaddh(r{{[0-9]+}}, r{{[0-9]+}})
|
; CHECK: vaddh(r{{[0-9]+}}, r{{[0-9]+}})
|
||||||
|
|
||||||
@j = external global i32
|
@j = external global i32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user