LLVM 20.0.0git
Classes | Namespaces | Enumerations
Legality.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h"

Go to the source code of this file.

Classes

struct  llvm::sandboxir::ToStr
 
class  llvm::sandboxir::LegalityResult
 The legality outcome is represented by a class rather than an enum class because in some cases the legality checks are expensive and look for a particular instruction that can be passed along to the vectorizer to avoid repeating the same expensive computation. More...
 
class  llvm::sandboxir::LegalityResultWithReason
 Base class for results with reason. More...
 
class  llvm::sandboxir::Widen
 
class  llvm::sandboxir::Pack
 
class  llvm::sandboxir::LegalityAnalysis
 Performs the legality analysis and returns a LegalityResult object. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::sandboxir
 

Enumerations

enum class  llvm::sandboxir::LegalityResultID { llvm::sandboxir::Pack , llvm::sandboxir::Widen }
 
enum class  llvm::sandboxir::ResultReason {
  llvm::sandboxir::NotInstructions , llvm::sandboxir::DiffOpcodes , llvm::sandboxir::DiffTypes , llvm::sandboxir::DiffMathFlags ,
  llvm::sandboxir::DiffWrapFlags , llvm::sandboxir::NotConsecutive , llvm::sandboxir::CantSchedule , llvm::sandboxir::Unimplemented ,
  llvm::sandboxir::Infeasible
}
 The reason for vectorizing or not vectorizing. More...