diff options
author | Nadav Rotem <nrotem@apple.com> | 2012-10-10 22:04:55 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2012-10-10 22:04:55 +0000 |
commit | e10328737db3f0e6a1a668495e4971185705d61d (patch) | |
tree | b74c9fd25bcb63d56bbc8f941b819bfdf0d3a1e4 /llvm/lib/Target/TargetTransformImpl.cpp | |
parent | 6d110a51390893f5afdb83dd96ed49689ae28e6c (diff) | |
download | bcm5719-llvm-e10328737db3f0e6a1a668495e4971185705d61d.tar.gz bcm5719-llvm-e10328737db3f0e6a1a668495e4971185705d61d.zip |
Add a new interface to allow IR-level passes to access codegen-specific information.
llvm-svn: 165665
Diffstat (limited to 'llvm/lib/Target/TargetTransformImpl.cpp')
-rw-r--r-- | llvm/lib/Target/TargetTransformImpl.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/llvm/lib/Target/TargetTransformImpl.cpp b/llvm/lib/Target/TargetTransformImpl.cpp new file mode 100644 index 00000000000..1cb5edab9d0 --- /dev/null +++ b/llvm/lib/Target/TargetTransformImpl.cpp @@ -0,0 +1,43 @@ +// llvm/Target/TargetTransformImpl.cpp - Target Loop Trans Info ---*- C++ -*-=// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "llvm/Target/TargetTransformImpl.h" +#include "llvm/Target/TargetLowering.h" + +using namespace llvm; + +bool ScalarTargetTransformImpl::isLegalAddImmediate(int64_t imm) const { + return TLI->isLegalAddImmediate(imm); +} + +bool ScalarTargetTransformImpl::isLegalICmpImmediate(int64_t imm) const { + return TLI->isLegalICmpImmediate(imm); +} + +bool ScalarTargetTransformImpl::isLegalAddressingMode(const AddrMode &AM, + Type *Ty) const { + return TLI->isLegalAddressingMode(AM, Ty); +} + +bool ScalarTargetTransformImpl::isTruncateFree(Type *Ty1, Type *Ty2) const { + return TLI->isTruncateFree(Ty1, Ty2); +} + +bool ScalarTargetTransformImpl::isTypeLegal(Type *Ty) const { + EVT T = TLI->getValueType(Ty); + return TLI->isTypeLegal(T); +} + +unsigned ScalarTargetTransformImpl::getJumpBufAlignment() const { + return TLI->getJumpBufAlignment(); +} + +unsigned ScalarTargetTransformImpl::getJumpBufSize() const { + return TLI->getJumpBufSize(); +} |