github.com/llir/llvm@v0.3.6/ir/sumtype.go (about) 1 package ir 2 3 // === [ constant.Constant ] =================================================== 4 5 // IsConstant ensures that only constants can be assigned to the 6 // constant.Constant interface. 7 func (*Global) IsConstant() {} 8 9 // IsConstant ensures that only constants can be assigned to the 10 // constant.Constant interface. 11 func (*Func) IsConstant() {} 12 13 // IsConstant ensures that only constants can be assigned to the 14 // constant.Constant interface. 15 func (*Alias) IsConstant() {} 16 17 // IsConstant ensures that only constants can be assigned to the 18 // constant.Constant interface. 19 func (*IFunc) IsConstant() {} 20 21 // === [ ir.FuncAttribute ] ==================================================== 22 23 // IsFuncAttribute ensures that only function attributes can be assigned to 24 // the ir.FuncAttribute interface. 25 func (AttrString) IsFuncAttribute() {} 26 27 // IsFuncAttribute ensures that only function attributes can be assigned to 28 // the ir.FuncAttribute interface. 29 func (AttrPair) IsFuncAttribute() {} 30 31 // IsFuncAttribute ensures that only function attributes can be assigned to the 32 // ir.FuncAttribute interface. 33 func (*AttrGroupDef) IsFuncAttribute() {} 34 35 // IsFuncAttribute ensures that only function attributes can be assigned to the 36 // ir.FuncAttribute interface. 37 func (Align) IsFuncAttribute() {} 38 39 // IsFuncAttribute ensures that only function attributes can be assigned to the 40 // ir.FuncAttribute interface. 41 func (AlignStack) IsFuncAttribute() {} 42 43 // IsFuncAttribute ensures that only function attributes can be assigned to the 44 // ir.FuncAttribute interface. 45 func (AllocSize) IsFuncAttribute() {} 46 47 // IsFuncAttribute ensures that only parameter attributes can be assigned to 48 // the ir.ParamAttribute interface. 49 func (Preallocated) IsFuncAttribute() {} 50 51 // IsFuncAttribute ensures that only parameter attributes can be assigned to 52 // the ir.ParamAttribute interface. 53 func (VectorScaleRange) IsFuncAttribute() {} 54 55 // === [ ir.Instruction ] ====================================================== 56 57 // Binary instructions. 58 func (*InstFNeg) isInstruction() {} 59 60 // Binary instructions. 61 func (*InstAdd) isInstruction() {} 62 func (*InstFAdd) isInstruction() {} 63 func (*InstSub) isInstruction() {} 64 func (*InstFSub) isInstruction() {} 65 func (*InstMul) isInstruction() {} 66 func (*InstFMul) isInstruction() {} 67 func (*InstUDiv) isInstruction() {} 68 func (*InstSDiv) isInstruction() {} 69 func (*InstFDiv) isInstruction() {} 70 func (*InstURem) isInstruction() {} 71 func (*InstSRem) isInstruction() {} 72 func (*InstFRem) isInstruction() {} 73 74 // Bitwise instructions. 75 func (*InstShl) isInstruction() {} 76 func (*InstLShr) isInstruction() {} 77 func (*InstAShr) isInstruction() {} 78 func (*InstAnd) isInstruction() {} 79 func (*InstOr) isInstruction() {} 80 func (*InstXor) isInstruction() {} 81 82 // Vector instructions. 83 func (*InstExtractElement) isInstruction() {} 84 func (*InstInsertElement) isInstruction() {} 85 func (*InstShuffleVector) isInstruction() {} 86 87 // Aggregate instructions. 88 func (*InstExtractValue) isInstruction() {} 89 func (*InstInsertValue) isInstruction() {} 90 91 // Memory instructions. 92 func (*InstAlloca) isInstruction() {} 93 func (*InstLoad) isInstruction() {} 94 func (*InstStore) isInstruction() {} 95 func (*InstFence) isInstruction() {} 96 func (*InstCmpXchg) isInstruction() {} 97 func (*InstAtomicRMW) isInstruction() {} 98 func (*InstGetElementPtr) isInstruction() {} 99 100 // Conversion instructions. 101 func (*InstTrunc) isInstruction() {} 102 func (*InstZExt) isInstruction() {} 103 func (*InstSExt) isInstruction() {} 104 func (*InstFPTrunc) isInstruction() {} 105 func (*InstFPExt) isInstruction() {} 106 func (*InstFPToUI) isInstruction() {} 107 func (*InstFPToSI) isInstruction() {} 108 func (*InstUIToFP) isInstruction() {} 109 func (*InstSIToFP) isInstruction() {} 110 func (*InstPtrToInt) isInstruction() {} 111 func (*InstIntToPtr) isInstruction() {} 112 func (*InstBitCast) isInstruction() {} 113 func (*InstAddrSpaceCast) isInstruction() {} 114 115 // Other instructions. 116 func (*InstICmp) isInstruction() {} 117 func (*InstFCmp) isInstruction() {} 118 func (*InstPhi) isInstruction() {} 119 func (*InstSelect) isInstruction() {} 120 func (*InstFreeze) isInstruction() {} 121 func (*InstCall) isInstruction() {} 122 func (*InstVAArg) isInstruction() {} 123 func (*InstLandingPad) isInstruction() {} 124 func (*InstCatchPad) isInstruction() {} 125 func (*InstCleanupPad) isInstruction() {} 126 127 // === [ ir.ParamAttribute ] =================================================== 128 129 // IsParamAttribute ensures that only parameter attributes can be assigned to 130 // the ir.ParamAttribute interface. 131 func (AttrString) IsParamAttribute() {} 132 133 // IsParamAttribute ensures that only parameter attributes can be assigned to 134 // the ir.ParamAttribute interface. 135 func (AttrPair) IsParamAttribute() {} 136 137 // IsParamAttribute ensures that only parameter attributes can be assigned to 138 // the ir.ParamAttribute interface. 139 func (Align) IsParamAttribute() {} 140 141 // IsParamAttribute ensures that only parameter attributes can be assigned to 142 // the ir.ParamAttribute interface. 143 func (AlignStack) IsParamAttribute() {} 144 145 // IsParamAttribute ensures that only parameter attributes can be assigned to 146 // the ir.ParamAttribute interface. 147 func (ByRef) IsParamAttribute() {} 148 149 // IsParamAttribute ensures that only parameter attributes can be assigned to 150 // the ir.ParamAttribute interface. 151 func (Byval) IsParamAttribute() {} 152 153 // IsParamAttribute ensures that only parameter attributes can be assigned to 154 // the ir.ParamAttribute interface. 155 func (Dereferenceable) IsParamAttribute() {} 156 157 // IsParamAttribute ensures that only parameter attributes can be assigned to 158 // the ir.ParamAttribute interface. 159 func (ElementType) IsParamAttribute() {} 160 161 // IsParamAttribute ensures that only parameter attributes can be assigned to 162 // the ir.ParamAttribute interface. 163 func (InAlloca) IsParamAttribute() {} 164 165 // IsParamAttribute ensures that only parameter attributes can be assigned to 166 // the ir.ParamAttribute interface. 167 func (Preallocated) IsParamAttribute() {} 168 169 // IsParamAttribute ensures that only parameter attributes can be assigned to 170 // the ir.ParamAttribute interface. 171 func (SRet) IsParamAttribute() {} 172 173 // === [ ir.ReturnAttribute ] ================================================== 174 175 // IsReturnAttribute ensures that only return attributes can be assigned to 176 // the ir.ReturnAttribute interface. 177 func (AttrString) IsReturnAttribute() {} 178 179 // IsReturnAttribute ensures that only return attributes can be assigned to 180 // the ir.ReturnAttribute interface. 181 func (AttrPair) IsReturnAttribute() {} 182 183 // IsReturnAttribute ensures that only return attributes can be assigned to the 184 // ir.ReturnAttribute interface. 185 func (Align) IsReturnAttribute() {} 186 187 // IsReturnAttribute ensures that only return attributes can be assigned to 188 // the ir.ReturnAttribute interface. 189 func (Dereferenceable) IsReturnAttribute() {}