Enable lowering ZERO_EXTEND/ANY_EXTEND to PMOVZX from SSE4.1
[oota-llvm.git] / lib / Target / TargetTransformImpl.cpp
1 // llvm/Target/TargetTransformImpl.cpp - Target Loop Trans Info ---*- C++ -*-=//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #include "llvm/Target/TargetTransformImpl.h"
11 #include "llvm/Target/TargetLowering.h"
12
13 using namespace llvm;
14
15 bool ScalarTargetTransformImpl::isLegalAddImmediate(int64_t imm) const {
16   return TLI->isLegalAddImmediate(imm);
17 }
18
19 bool ScalarTargetTransformImpl::isLegalICmpImmediate(int64_t imm) const {
20   return TLI->isLegalICmpImmediate(imm);
21 }
22
23 bool ScalarTargetTransformImpl::isLegalAddressingMode(const AddrMode &AM,
24                                                     Type *Ty) const {
25   return TLI->isLegalAddressingMode(AM, Ty);
26 }
27
28 bool ScalarTargetTransformImpl::isTruncateFree(Type *Ty1, Type *Ty2) const {
29   return TLI->isTruncateFree(Ty1, Ty2);
30 }
31
32 bool ScalarTargetTransformImpl::isTypeLegal(Type *Ty) const {
33   EVT T = TLI->getValueType(Ty);
34   return TLI->isTypeLegal(T);
35 }
36
37 unsigned ScalarTargetTransformImpl::getJumpBufAlignment() const {
38   return TLI->getJumpBufAlignment();
39 }
40
41 unsigned ScalarTargetTransformImpl::getJumpBufSize() const {
42   return TLI->getJumpBufSize();
43 }