llvm.org GIT mirror llvm / 342a479
Doxify comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200020 91177308-0d34-0410-b5e6-96231b3b80d8 Juergen Ributzka 6 years ago
1 changed file(s) with 21 addition(s) and 23 deletion(s). Raw diff Collapse all Expand all
240240 PSK_FastHardware
241241 };
242242
243 /// isLegalAddImmediate - Return true if the specified immediate is legal
244 /// add immediate, that is the target has add instructions which can add
245 /// a register with the immediate without having to materialize the
246 /// immediate into a register.
243 /// \brief Return true if the specified immediate is legal add immediate, that
244 /// is the target has add instructions which can add a register with the
245 /// immediate without having to materialize the immediate into a register.
247246 virtual bool isLegalAddImmediate(int64_t Imm) const;
248247
249 /// isLegalICmpImmediate - Return true if the specified immediate is legal
250 /// icmp immediate, that is the target has icmp instructions which can compare
251 /// a register against the immediate without having to materialize the
252 /// immediate into a register.
248 /// \brief Return true if the specified immediate is legal icmp immediate,
249 /// that is the target has icmp instructions which can compare a register
250 /// against the immediate without having to materialize the immediate into a
251 /// register.
253252 virtual bool isLegalICmpImmediate(int64_t Imm) const;
254253
255 /// isLegalAddressingMode - Return true if the addressing mode represented by
256 /// AM is legal for this target, for a load/store of the specified type.
254 /// \brief Return true if the addressing mode represented by AM is legal for
255 /// this target, for a load/store of the specified type.
257256 /// The type may be VoidTy, in which case only return true if the addressing
258257 /// mode is legal for a load/store of any legal type.
259258 /// TODO: Handle pre/postinc as well.
271270 int64_t BaseOffset, bool HasBaseReg,
272271 int64_t Scale) const;
273272
274 /// isTruncateFree - Return true if it's free to truncate a value of
275 /// type Ty1 to type Ty2. e.g. On x86 it's free to truncate a i32 value in
276 /// register EAX to i16 by referencing its sub-register AX.
273 /// \brief Return true if it's free to truncate a value of type Ty1 to type
274 /// Ty2. e.g. On x86 it's free to truncate a i32 value in register EAX to i16
275 /// by referencing its sub-register AX.
277276 virtual bool isTruncateFree(Type *Ty1, Type *Ty2) const;
278277
279 /// Is this type legal.
278 /// \brief Return true if this type is legal.
280279 virtual bool isTypeLegal(Type *Ty) const;
281280
282 /// getJumpBufAlignment - returns the target's jmp_buf alignment in bytes
281 /// \brief Returns the target's jmp_buf alignment in bytes.
283282 virtual unsigned getJumpBufAlignment() const;
284283
285 /// getJumpBufSize - returns the target's jmp_buf size in bytes.
284 /// \brief Returns the target's jmp_buf size in bytes.
286285 virtual unsigned getJumpBufSize() const;
287286
288 /// shouldBuildLookupTables - Return true if switches should be turned into
289 /// lookup tables for the target.
287 /// \brief Return true if switches should be turned into lookup tables for the
288 /// target.
290289 virtual bool shouldBuildLookupTables() const;
291290
292 /// getPopcntSupport - Return hardware support for population count.
291 /// \brief Return hardware support for population count.
293292 virtual PopcntSupportKind getPopcntSupport(unsigned IntTyWidthInBit) const;
294293
295 /// haveFastSqrt -- Return true if the hardware has a fast square-root
296 /// instruction.
294 /// \brief Return true if the hardware has a fast square-root instruction.
297295 virtual bool haveFastSqrt(Type *Ty) const;
298296
299 /// getIntImmCost - Return the expected cost of materializing the given
300 /// integer immediate of the specified type.
297 /// \brief Return the expected cost of materializing for the given integer
298 /// immediate of the specified type.
301299 virtual unsigned getIntImmCost(const APInt &Imm, Type *Ty) const;
302300
303301 /// @}