Home
last modified time | relevance | path

Searched refs:TI (Results 1 – 25 of 805) sorted by relevance

12345678910>>...33

/external/swiftshader/third_party/llvm-7.0/llvm/unittests/Support/
DTrigramIndexTest.cpp25 std::unique_ptr<TrigramIndex> TI = in makeTrigramIndex() local
28 TI->insert(Rule); in makeTrigramIndex()
29 return TI; in makeTrigramIndex()
34 std::unique_ptr<TrigramIndex> TI = in TEST_F() local
36 EXPECT_FALSE(TI->isDefeated()); in TEST_F()
37 EXPECT_TRUE(TI->isDefinitelyOut("foo")); in TEST_F()
41 std::unique_ptr<TrigramIndex> TI = in TEST_F() local
43 EXPECT_FALSE(TI->isDefeated()); in TEST_F()
44 EXPECT_TRUE(TI->isDefinitelyOut("foo")); in TEST_F()
48 std::unique_ptr<TrigramIndex> TI = in TEST_F() local
[all …]
/external/clang/lib/Frontend/
DInitPreprocessor.cpp195 const TargetInfo &TI, MacroBuilder &Builder) { in DefineTypeSize() argument
196 DefineTypeSize(MacroName, TI.getTypeWidth(Ty), TI.getTypeConstantSuffix(Ty), in DefineTypeSize()
197 TI.isTypeSigned(Ty), Builder); in DefineTypeSize()
201 const TargetInfo &TI, MacroBuilder &Builder) { in DefineFmt() argument
202 bool IsSigned = TI.isTypeSigned(Ty); in DefineFmt()
203 StringRef FmtModifier = TI.getTypeFormatModifier(Ty); in DefineFmt()
216 const TargetInfo &TI, MacroBuilder &Builder) { in DefineTypeWidth() argument
217 Builder.defineMacro(MacroName, Twine(TI.getTypeWidth(Ty))); in DefineTypeWidth()
221 const TargetInfo &TI, MacroBuilder &Builder) { in DefineTypeSizeof() argument
223 Twine(BitWidth / TI.getCharWidth())); in DefineTypeSizeof()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/DebugInfo/CodeView/
DTypeIndex.cpp71 StringRef TypeIndex::simpleTypeName(TypeIndex TI) { in simpleTypeName() argument
72 assert(TI.isNoneType() || TI.isSimple()); in simpleTypeName()
74 if (TI.isNoneType()) in simpleTypeName()
79 if (SimpleTypeName.Kind == TI.getSimpleKind()) { in simpleTypeName()
80 if (TI.getSimpleMode() == SimpleTypeMode::Direct) in simpleTypeName()
91 TypeIndex TI, TypeCollection &Types) { in printTypeIndex() argument
93 if (!TI.isNoneType()) { in printTypeIndex()
94 if (TI.isSimple()) in printTypeIndex()
95 TypeName = TypeIndex::simpleTypeName(TI); in printTypeIndex()
97 TypeName = Types.getTypeName(TI); in printTypeIndex()
[all …]
DLazyRandomTypeCollection.cpp146 Error LazyRandomTypeCollection::ensureTypeExists(TypeIndex TI) { in ensureTypeExists() argument
147 if (contains(TI)) in ensureTypeExists()
150 return visitRangeForType(TI); in ensureTypeExists()
165 Error LazyRandomTypeCollection::visitRangeForType(TypeIndex TI) { in visitRangeForType() argument
167 return fullScanForType(TI); in visitRangeForType()
169 auto Next = std::upper_bound(PartialOffsets.begin(), PartialOffsets.end(), TI, in visitRangeForType()
199 TypeIndex TI = TypeIndex::fromArrayIndex(0); in getFirst() local
200 if (auto EC = ensureTypeExists(TI)) { in getFirst()
204 return TI; in getFirst()
219 Error LazyRandomTypeCollection::fullScanForType(TypeIndex TI) { in fullScanForType() argument
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/tools/llvm-pdbutil/
DAnalyze.cpp46 TypeIndex TI; member
55 TypeIndex TI(I + TypeIndex::FirstNonSimpleIndex); in visitTypeBegin() local
56 Lookup[H].push_back(Entry{TI, Record}); in visitTypeBegin()
100 auto Iter = AdjusterSet.find(R.TI.getIndex()); in dump()
107 uint32_t TI = R.TI.getIndex(); in dump() local
108 StringRef TypeName = Types->getTypeName(R.TI); in dump()
109 outs() << formatv("{0,-6} {1} ({2:x}) {3}\n", Prefix, LeafName, TI, in dump()
117 TypeIndex TI(A.second); in dump() local
118 StringRef TypeName = Types->getTypeName(TI); in dump()
119 const CVType &HeadRecord = Types->getType(TI); in dump()
[all …]
/external/strace/linux/
Dsubcall.h59 [SYS_ipc_subcall + 1] = { 4, IS|TI, SEN(semop), "semop" },
60 [SYS_ipc_subcall + 2] = { 3, IS|TI, SEN(semget), "semget" },
61 [SYS_ipc_subcall + 3] = { 4, IS|TI, SEN(semctl), "semctl" },
62 [SYS_ipc_subcall + 4] = { 5, IS|TI, SEN(semtimedop), "semtimedop" },
63 [SYS_ipc_subcall + 11] = { 4, IS|TI, SEN(msgsnd), "msgsnd" },
64 [SYS_ipc_subcall + 12] = { 5, IS|TI, SEN(msgrcv), "msgrcv" },
65 [SYS_ipc_subcall + 13] = { 2, IS|TI, SEN(msgget), "msgget" },
66 [SYS_ipc_subcall + 14] = { 4, IS|TI, SEN(msgctl), "msgctl" },
67 [SYS_ipc_subcall + 21] = { 4, IS|TI|TM|SI, SEN(shmat), "shmat" },
68 [SYS_ipc_subcall + 22] = { 4, IS|TI|TM|SI, SEN(shmdt), "shmdt" },
[all …]
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/
DBreakCriticalEdges.cpp71 TerminatorInst *TI = I->getTerminator(); in runOnFunction() local
72 if (TI->getNumSuccessors() > 1 && !isa<IndirectBrInst>(TI)) in runOnFunction()
73 for (unsigned i = 0, e = TI->getNumSuccessors(); i != e; ++i) in runOnFunction()
74 if (SplitCriticalEdge(TI, i, this)) { in runOnFunction()
91 bool llvm::isCriticalEdge(const TerminatorInst *TI, unsigned SuccNum, in isCriticalEdge() argument
93 assert(SuccNum < TI->getNumSuccessors() && "Illegal edge specification!"); in isCriticalEdge()
94 if (TI->getNumSuccessors() == 1) return false; in isCriticalEdge()
96 const BasicBlock *Dest = TI->getSuccessor(SuccNum); in isCriticalEdge()
169 BasicBlock *llvm::SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, in SplitCriticalEdge() argument
172 if (!isCriticalEdge(TI, SuccNum, MergeIdenticalEdges)) return 0; in SplitCriticalEdge()
[all …]
/external/llvm/lib/Analysis/
DSparsePropagation.cpp121 void SparseSolver::getFeasibleSuccessors(TerminatorInst &TI, in getFeasibleSuccessors() argument
124 Succs.resize(TI.getNumSuccessors()); in getFeasibleSuccessors()
125 if (TI.getNumSuccessors() == 0) return; in getFeasibleSuccessors()
127 if (BranchInst *BI = dyn_cast<BranchInst>(&TI)) { in getFeasibleSuccessors()
162 if (isa<InvokeInst>(TI)) { in getFeasibleSuccessors()
169 if (isa<IndirectBrInst>(TI)) { in getFeasibleSuccessors()
174 SwitchInst &SI = cast<SwitchInst>(TI); in getFeasibleSuccessors()
184 Succs.assign(TI.getNumSuccessors(), true); in getFeasibleSuccessors()
195 Succs.assign(TI.getNumSuccessors(), true); in getFeasibleSuccessors()
208 TerminatorInst *TI = From->getTerminator(); in isEdgeFeasible() local
[all …]
DBranchProbabilityInfo.cpp116 const TerminatorInst *TI = BB->getTerminator(); in calcUnreachableHeuristics() local
117 if (TI->getNumSuccessors() == 0) { in calcUnreachableHeuristics()
118 if (isa<UnreachableInst>(TI) || in calcUnreachableHeuristics()
140 if (UnreachableEdges.size() == TI->getNumSuccessors()) in calcUnreachableHeuristics()
145 if (TI->getNumSuccessors() == 1 || UnreachableEdges.empty()) in calcUnreachableHeuristics()
150 if (auto *II = dyn_cast<InvokeInst>(TI)) in calcUnreachableHeuristics()
183 const TerminatorInst *TI = BB->getTerminator(); in calcMetadataWeights() local
184 if (TI->getNumSuccessors() == 1) in calcMetadataWeights()
186 if (!isa<BranchInst>(TI) && !isa<SwitchInst>(TI)) in calcMetadataWeights()
189 MDNode *WeightsNode = TI->getMetadata(LLVMContext::MD_prof); in calcMetadataWeights()
[all …]
/external/u-boot/doc/
DREADME.davinci4 This README is about U-Boot support for TI's ARM 926EJS based family of SoCs.
9 Additionally, some family members contain a TI DSP and/or graphics
14 * TI DaVinci DM644x EVM
16 * TI DaVinci DM646x EVM
18 * TI DaVinci DM355 EVM
20 * TI DaVinci DM365 EVM
22 * TI DA830 EVM
24 * TI DA850 EVM
37 * TI DaVinci DM644x EVM:
42 * TI DaVinci DM646x EVM:
[all …]
/external/swiftshader/third_party/LLVM/lib/Analysis/
DSparsePropagation.cpp120 void SparseSolver::getFeasibleSuccessors(TerminatorInst &TI, in getFeasibleSuccessors() argument
123 Succs.resize(TI.getNumSuccessors()); in getFeasibleSuccessors()
124 if (TI.getNumSuccessors() == 0) return; in getFeasibleSuccessors()
126 if (BranchInst *BI = dyn_cast<BranchInst>(&TI)) { in getFeasibleSuccessors()
161 if (isa<InvokeInst>(TI)) { in getFeasibleSuccessors()
168 if (isa<IndirectBrInst>(TI)) { in getFeasibleSuccessors()
173 SwitchInst &SI = cast<SwitchInst>(TI); in getFeasibleSuccessors()
183 Succs.assign(TI.getNumSuccessors(), true); in getFeasibleSuccessors()
194 Succs.assign(TI.getNumSuccessors(), true); in getFeasibleSuccessors()
207 TerminatorInst *TI = From->getTerminator(); in isEdgeFeasible() local
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Support/
DARMBuildAttrs.cpp79 for (unsigned TI = 0, TE = sizeof(ARMAttributeTags) / sizeof(*ARMAttributeTags); in AttrTypeAsString() local
80 TI != TE; ++TI) in AttrTypeAsString()
81 if (ARMAttributeTags[TI].Attr == Attr) { in AttrTypeAsString()
82 auto TagName = ARMAttributeTags[TI].TagName; in AttrTypeAsString()
90 for (unsigned TI = 0, in AttrTypeFromString() local
92 TI != TE; ++TI) { in AttrTypeFromString()
93 auto TagName = ARMAttributeTags[TI].TagName; in AttrTypeFromString()
95 return ARMAttributeTags[TI].Attr; in AttrTypeFromString()
/external/llvm/lib/Support/
DARMBuildAttrs.cpp79 for (unsigned TI = 0, TE = sizeof(ARMAttributeTags) / sizeof(*ARMAttributeTags); in AttrTypeAsString() local
80 TI != TE; ++TI) in AttrTypeAsString()
81 if (ARMAttributeTags[TI].Attr == Attr) in AttrTypeAsString()
82 return ARMAttributeTags[TI].TagName + (HasTagPrefix ? 0 : 4); in AttrTypeAsString()
88 for (unsigned TI = 0, TE = sizeof(ARMAttributeTags) / sizeof(*ARMAttributeTags); in AttrTypeFromString() local
89 TI != TE; ++TI) in AttrTypeFromString()
90 if (StringRef(ARMAttributeTags[TI].TagName + (HasTagPrefix ? 0 : 4)) == Tag) in AttrTypeFromString()
91 return ARMAttributeTags[TI].Attr; in AttrTypeFromString()
/external/swiftshader/third_party/LLVM/include/llvm/Transforms/Utils/
DBasicBlockUtils.h90 bool isCriticalEdge(const TerminatorInst *TI, unsigned SuccNum,
111 BasicBlock *SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum,
127 TerminatorInst *TI = (*PI)->getTerminator(); variable
128 for (unsigned i = 0, e = TI->getNumSuccessors(); i != e; ++i)
129 if (TI->getSuccessor(i) == Succ)
130 MadeChange |= !!SplitCriticalEdge(TI, i, P);
142 TerminatorInst *TI = Src->getTerminator(); variable
145 assert(i != TI->getNumSuccessors() && "Edge doesn't exist!");
146 if (TI->getSuccessor(i) == Dst)
147 return SplitCriticalEdge(TI, i, P, MergeIdenticalEdges,
/external/swiftshader/third_party/llvm-7.0/llvm/unittests/DebugInfo/CodeView/
DRandomAccessVisitorTest.cpp133 TypeIndex TI = TypeIndex::fromArrayIndex(Index); in ValidateDatabaseRecord() local
134 if (!Types.contains(TI)) in ValidateDatabaseRecord()
136 if (GlobalState->TypeVector[Index] != Types.getType(TI)) in ValidateDatabaseRecord()
143 TypeIndex TI = TypeIndex::fromArrayIndex(GlobalArrayIndex); in ValidateVisitedRecord() local
144 if (TI != TestState->Callbacks.Indices[VisitationOrder]) in ValidateVisitedRecord()
147 if (GlobalState->TypeVector[TI.toArrayIndex()] != in ValidateVisitedRecord()
151 if (GlobalState->Records[TI.toArrayIndex()] != in ValidateVisitedRecord()
216 TypeIndex TI = TypeIndex::fromArrayIndex(I); in TEST_F() local
217 CVType T = Types.getType(TI); in TEST_F()
218 EXPECT_THAT_ERROR(codeview::visitTypeRecord(T, TI, TestState->Callbacks), in TEST_F()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/Analysis/
DSparsePropagation.h192 void getFeasibleSuccessors(TerminatorInst &TI, SmallVectorImpl<bool> &Succs,
197 void visitTerminatorInst(TerminatorInst &TI);
289 TerminatorInst &TI, SmallVectorImpl<bool> &Succs, bool AggressiveUndef) { in getFeasibleSuccessors() argument
290 Succs.resize(TI.getNumSuccessors()); in getFeasibleSuccessors()
291 if (TI.getNumSuccessors() == 0) in getFeasibleSuccessors()
294 if (BranchInst *BI = dyn_cast<BranchInst>(&TI)) { in getFeasibleSuccessors()
333 if (TI.isExceptional()) { in getFeasibleSuccessors()
338 if (isa<IndirectBrInst>(TI)) { in getFeasibleSuccessors()
343 SwitchInst &SI = cast<SwitchInst>(TI); in getFeasibleSuccessors()
354 Succs.assign(TI.getNumSuccessors(), true); in getFeasibleSuccessors()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Analysis/
DBranchProbabilityInfo.cpp138 const TerminatorInst *TI = BB->getTerminator(); in updatePostDominatedByUnreachable() local
139 if (TI->getNumSuccessors() == 0) { in updatePostDominatedByUnreachable()
140 if (isa<UnreachableInst>(TI) || in updatePostDominatedByUnreachable()
152 if (auto *II = dyn_cast<InvokeInst>(TI)) { in updatePostDominatedByUnreachable()
170 const TerminatorInst *TI = BB->getTerminator(); in updatePostDominatedByColdCall() local
171 if (TI->getNumSuccessors() == 0) in updatePostDominatedByColdCall()
184 if (auto *II = dyn_cast<InvokeInst>(TI)) in updatePostDominatedByColdCall()
205 const TerminatorInst *TI = BB->getTerminator(); in calcUnreachableHeuristics() local
206 (void) TI; in calcUnreachableHeuristics()
207 assert(TI->getNumSuccessors() > 1 && "expected more than one successor!"); in calcUnreachableHeuristics()
[all …]
/external/swiftshader/third_party/LLVM/lib/Transforms/InstCombine/
DInstCombineSelect.cpp124 Instruction *InstCombiner::FoldSelectOpOp(SelectInst &SI, Instruction *TI, in FoldSelectOpOp() argument
126 if (TI->getNumOperands() == 1) { in FoldSelectOpOp()
129 if (TI->isCast()) { in FoldSelectOpOp()
130 if (TI->getOperand(0)->getType() != FI->getOperand(0)->getType()) in FoldSelectOpOp()
137 Value *NewSI = Builder->CreateSelect(SI.getCondition(), TI->getOperand(0), in FoldSelectOpOp()
139 return CastInst::Create(Instruction::CastOps(TI->getOpcode()), NewSI, in FoldSelectOpOp()
140 TI->getType()); in FoldSelectOpOp()
144 if (!isa<BinaryOperator>(TI)) in FoldSelectOpOp()
150 if (TI->getOperand(0) == FI->getOperand(0)) { in FoldSelectOpOp()
151 MatchOp = TI->getOperand(0); in FoldSelectOpOp()
[all …]
/external/pdfium/core/fxcodec/jbig2/
DJBig2_TrdProc.cpp83 int32_t TI = SAFE_TI.ValueOrDie(); in decode_Huffman() local
182 SBREG->composeFrom(SI, TI, IBI.Get(), SBCOMBOP); in decode_Huffman()
185 SBREG->composeFrom(SI - WI + 1, TI, IBI.Get(), SBCOMBOP); in decode_Huffman()
188 SBREG->composeFrom(SI, TI - HI + 1, IBI.Get(), SBCOMBOP); in decode_Huffman()
191 SBREG->composeFrom(SI - WI + 1, TI - HI + 1, IBI.Get(), SBCOMBOP); in decode_Huffman()
197 SBREG->composeFrom(TI, SI, IBI.Get(), SBCOMBOP); in decode_Huffman()
200 SBREG->composeFrom(TI - WI + 1, SI, IBI.Get(), SBCOMBOP); in decode_Huffman()
203 SBREG->composeFrom(TI, SI - HI + 1, IBI.Get(), SBCOMBOP); in decode_Huffman()
206 SBREG->composeFrom(TI - WI + 1, SI - HI + 1, IBI.Get(), SBCOMBOP); in decode_Huffman()
307 int32_t TI = SAFE_TI.ValueOrDie(); in decode_Arith() local
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/test/DebugInfo/PDB/
Dobj-globalhash.test17 CHECK-ONE: TI: 0x1001, LocalHash: {{.*}}, GlobalHash: A7F8CF106F39A384
19 CHECK-ONE: TI: 0x1000, LocalHash: {{.*}}, GlobalHash: A7F8CF106F39A384
23 CHECK-TWO: TI: 0x1000, LocalHash: {{.*}}, GlobalHash: 95D0616C5962F4B1
25 CHECK-TWO: TI: 0x1002, LocalHash: {{.*}}, GlobalHash: 95D0616C5962F4B1
31 CHECK-THREE: TI: 0x1002, LocalHash: {{.*}}, GlobalHash: 48D95F14F6176F4F
33 CHECK-THREE: TI: 0x1001, LocalHash: {{.*}}, GlobalHash: 48D95F14F6176F4F
40 CHECK-FOUR: TI: 0x1003, LocalHash: {{.*}}, GlobalHash: 99410CD14F5EE80D
42 CHECK-FOUR: TI: 0x1004, LocalHash: {{.*}}, GlobalHash: 99410CD14F5EE80D
47 CHECK-FIVE: TI: 0x1003, LocalHash: {{.*}}, GlobalHash: 20691EA9B88584CC
52 CHECK-SIX: TI: 0x1004, LocalHash: {{.*}}, GlobalHash: 7ACF479173341AC1
[all …]
/external/llvm/include/llvm/Transforms/Utils/
DBasicBlockUtils.h121 BasicBlock *SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum,
141 TerminatorInst *TI = (*PI)->getTerminator(); variable
142 for (unsigned i = 0, e = TI->getNumSuccessors(); i != e; ++i)
143 if (TI->getSuccessor(i) == Succ)
144 MadeChange |= !!SplitCriticalEdge(TI, i, Options);
155 TerminatorInst *TI = Src->getTerminator(); variable
158 assert(i != TI->getNumSuccessors() && "Edge doesn't exist!");
159 if (TI->getSuccessor(i) == Dst)
160 return SplitCriticalEdge(TI, i, Options);
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/Transforms/Utils/
DBasicBlockUtils.h127 BasicBlock *SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum,
147 TerminatorInst *TI = (*PI)->getTerminator(); variable
148 for (unsigned i = 0, e = TI->getNumSuccessors(); i != e; ++i)
149 if (TI->getSuccessor(i) == Succ)
150 MadeChange |= !!SplitCriticalEdge(TI, i, Options);
161 TerminatorInst *TI = Src->getTerminator(); variable
164 assert(i != TI->getNumSuccessors() && "Edge doesn't exist!");
165 if (TI->getSuccessor(i) == Dst)
166 return SplitCriticalEdge(TI, i, Options);
/external/llvm/lib/Transforms/InstCombine/
DInstCombineSelect.cpp120 Instruction *InstCombiner::FoldSelectOpOp(SelectInst &SI, Instruction *TI, in FoldSelectOpOp() argument
123 if (TI->getNumOperands() == 1 && TI->isCast()) { in FoldSelectOpOp()
125 if (TI->getOperand(0)->getType() != FIOpndTy) in FoldSelectOpOp()
145 if (TI->getOpcode() != Instruction::BitCast && in FoldSelectOpOp()
146 (!TI->hasOneUse() || !FI->hasOneUse())) in FoldSelectOpOp()
149 } else if (!TI->hasOneUse() || !FI->hasOneUse()) { in FoldSelectOpOp()
157 Value *NewSI = Builder->CreateSelect(SI.getCondition(), TI->getOperand(0), in FoldSelectOpOp()
159 return CastInst::Create(Instruction::CastOps(TI->getOpcode()), NewSI, in FoldSelectOpOp()
160 TI->getType()); in FoldSelectOpOp()
169 if (!isa<BinaryOperator>(TI) || !TI->hasOneUse() || !FI->hasOneUse()) in FoldSelectOpOp()
[all …]
/external/llvm/lib/Transforms/Utils/
DBreakCriticalEdges.cpp115 llvm::SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, in SplitCriticalEdge() argument
117 if (!isCriticalEdge(TI, SuccNum, Options.MergeIdenticalEdges)) in SplitCriticalEdge()
120 assert(!isa<IndirectBrInst>(TI) && in SplitCriticalEdge()
123 BasicBlock *TIBB = TI->getParent(); in SplitCriticalEdge()
124 BasicBlock *DestBB = TI->getSuccessor(SuccNum); in SplitCriticalEdge()
131 BasicBlock *NewBB = BasicBlock::Create(TI->getContext(), in SplitCriticalEdge()
135 NewBI->setDebugLoc(TI->getDebugLoc()); in SplitCriticalEdge()
138 TI->setSuccessor(SuccNum, NewBB); in SplitCriticalEdge()
170 for (unsigned i = SuccNum+1, e = TI->getNumSuccessors(); i != e; ++i) { in SplitCriticalEdge()
171 if (TI->getSuccessor(i) != DestBB) continue; in SplitCriticalEdge()
[all …]
/external/tensorflow/tensorflow/core/kernels/
Done_hot_op.h30 template <typename T, typename TI>
34 OneGenerator(const typename TTypes<TI>::ConstMatrix& indices, in OneGenerator()
47 const typename TTypes<TI>::ConstMatrix indices_;
56 template <typename Device, typename T, typename TI>
59 const Device& d, const typename TTypes<TI>::ConstMatrix& indices, in Compute()
63 generator::OneGenerator<T, TI> generator(indices, on_value, off_value); in Compute()

12345678910>>...33