Skip to content

Commit

Permalink
[Xtensa] Fix wchar type. Add absent IR passes.
Browse files Browse the repository at this point in the history
  • Loading branch information
andreisfr authored and gerekon committed Nov 13, 2023
1 parent 3ed29bb commit 28bc39e
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 15 deletions.
2 changes: 1 addition & 1 deletion clang/lib/Basic/Targets/Xtensa.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class LLVM_LIBRARY_VISIBILITY XtensaTargetInfo : public TargetInfo {
SizeType = UnsignedInt;
PtrDiffType = SignedInt;
IntPtrType = SignedInt;
WCharType = UnsignedChar;
WCharType = SignedInt;
WIntType = UnsignedInt;
UseZeroLengthBitfieldAlignment = true;
MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 32;
Expand Down
18 changes: 8 additions & 10 deletions clang/test/Preprocessor/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -2790,7 +2790,7 @@
// XTENSA: #define __SIZEOF_PTRDIFF_T__ 4
// XTENSA: #define __SIZEOF_SHORT__ 2
// XTENSA: #define __SIZEOF_SIZE_T__ 4
// XTENSA: #define __SIZEOF_WCHAR_T__ 1
// XTENSA: #define __SIZEOF_WCHAR_T__ 4
// XTENSA: #define __SIZEOF_WINT_T__ 4
// XTENSA: #define __SIZE_FMTX__ "X"
// XTENSA: #define __SIZE_FMTo__ "o"
Expand Down Expand Up @@ -2895,10 +2895,9 @@
// XTENSA: #define __UINT_LEAST8_FMTx__ "hhx"
// XTENSA: #define __UINT_LEAST8_MAX__ 255
// XTENSA: #define __UINT_LEAST8_TYPE__ unsigned char
// XTENSA: #define __WCHAR_MAX__ 255
// XTENSA: #define __WCHAR_TYPE__ unsigned char
// XTENSA: #define __WCHAR_UNSIGNED__ 1
// XTENSA: #define __WCHAR_WIDTH__ 8
// XTENSA: #define __WCHAR_MAX__ 2147483647
// XTENSA: #define __WCHAR_TYPE__ int
// XTENSA: #define __WCHAR_WIDTH__ 32
// XTENSA: #define __WINT_MAX__ 4294967295U
// XTENSA: #define __WINT_TYPE__ unsigned int
// XTENSA: #define __WINT_UNSIGNED__ 1
Expand Down Expand Up @@ -3093,7 +3092,7 @@
// XTENSA_FAST32: #define __SIZEOF_PTRDIFF_T__ 4
// XTENSA_FAST32: #define __SIZEOF_SHORT__ 2
// XTENSA_FAST32: #define __SIZEOF_SIZE_T__ 4
// XTENSA_FAST32: #define __SIZEOF_WCHAR_T__ 1
// XTENSA_FAST32: #define __SIZEOF_WCHAR_T__ 4
// XTENSA_FAST32: #define __SIZEOF_WINT_T__ 4
// XTENSA_FAST32: #define __SIZE_FMTX__ "X"
// XTENSA_FAST32: #define __SIZE_FMTo__ "o"
Expand Down Expand Up @@ -3198,10 +3197,9 @@
// XTENSA_FAST32: #define __UINT_LEAST8_FMTx__ "hhx"
// XTENSA_FAST32: #define __UINT_LEAST8_MAX__ 255
// XTENSA_FAST32: #define __UINT_LEAST8_TYPE__ unsigned char
// XTENSA_FAST32: #define __WCHAR_MAX__ 255
// XTENSA_FAST32: #define __WCHAR_TYPE__ unsigned char
// XTENSA_FAST32: #define __WCHAR_UNSIGNED__ 1
// XTENSA_FAST32: #define __WCHAR_WIDTH__ 8
// XTENSA_FAST32: #define __WCHAR_MAX__ 2147483647
// XTENSA_FAST32: #define __WCHAR_TYPE__ int
// XTENSA_FAST32: #define __WCHAR_WIDTH__ 32
// XTENSA_FAST32: #define __WINT_MAX__ 4294967295U
// XTENSA_FAST32: #define __WINT_TYPE__ unsigned int
// XTENSA_FAST32: #define __WINT_UNSIGNED__ 1
Expand Down
5 changes: 4 additions & 1 deletion llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,10 @@ bool XtensaPassConfig::addInstSelector() {
return false;
}

void XtensaPassConfig::addIRPasses() { addPass(createAtomicExpandPass()); }
void XtensaPassConfig::addIRPasses() {
addPass(createAtomicExpandPass());
TargetPassConfig::addIRPasses();
}

void XtensaPassConfig::addPreRegAlloc() {
addPass(createXtensaHardwareLoops());
Expand Down
6 changes: 3 additions & 3 deletions llvm/test/CodeGen/Xtensa/ee-intrinsics-loop.ll
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ for.body: ; preds = %entry, %for.body
; CHECK-NEXT: ee.stf.128.ip f11, f10, f9, f8, a8, 16
; CHECK-NEXT: ee.stf.128.ip f8, f8, f8, f8, a8, 16
; CHECK-NEXT: ee.stf.128.xp f8, f8, f8, f8, a9, a8
; CHECK-NEXT: movi.n a10, 0
; CHECK-NEXT: movi.n a10, 32
; CHECK-NEXT: movi.n a11, 10
; CHECK-NEXT: .LBB0_1: # %for.body
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
Expand All @@ -79,8 +79,8 @@ for.body: ; preds = %entry, %for.body
; CHECK-NEXT: ee.vmulas.s16.accx.ld.xp.qup q4, a8, a9, q0, q4, q2, q3
; CHECK-NEXT: ee.ld.128.usar.xp q4, a8, a9
; CHECK-NEXT: ee.vmulas.s16.accx.ld.ip.qup q3, a8, 16, q0, q3, q4, q2
; CHECK-NEXT: addi.n a10, a10, 1
; CHECK-NEXT: bnei a10, 32, .LBB0_1
; CHECK-NEXT: addi.n a10, a10, -1
; CHECK-NEXT: bnez a10, .LBB0_1
; CHECK-NEXT: # %bb.2: # %for.cond.cleanup
; CHECK-NEXT: movi.n a8, 0
; CHECK-NEXT: wur.sar_byte a8
Expand Down

0 comments on commit 28bc39e

Please sign in to comment.