LLVM 24.0.0git
WebAssemblyTargetTransformInfo.cpp File Reference

This file defines the WebAssembly-specific TargetTransformInfo implementation. More...

#include "WebAssemblyTargetTransformInfo.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/IntrinsicsWebAssembly.h"
#include "llvm/Transforms/InstCombine/InstCombiner.h"
#include "llvm/CodeGen/CostTable.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "wasmtti"

Functions

static Value * simplifyWasmSwizzle (const IntrinsicInst &II, InstCombiner::BuilderTy &Builder, bool IsRelaxed)
 Attempt to convert [relaxed_]swizzle to shufflevector if the mask is constant.

Detailed Description

This file defines the WebAssembly-specific TargetTransformInfo implementation.

Definition in file WebAssemblyTargetTransformInfo.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "wasmtti"

Definition at line 23 of file WebAssemblyTargetTransformInfo.cpp.

Function Documentation

◆ simplifyWasmSwizzle()

Value * simplifyWasmSwizzle ( const IntrinsicInst & II,
InstCombiner::BuilderTy & Builder,
bool IsRelaxed )
static

Attempt to convert [relaxed_]swizzle to shufflevector if the mask is constant.

Definition at line 552 of file WebAssemblyTargetTransformInfo.cpp.

References llvm::ArrayRef(), assert(), llvm::cast(), llvm::dyn_cast(), llvm::PoisonValue::get(), llvm::Constant::getNullValue(), I, II, llvm::isa(), uint64_t, V, and llvm::V1.

Referenced by llvm::WebAssemblyTTIImpl::instCombineIntrinsic().