From 5118872dd2a62b3ba022aff37ebc26003cca5adb Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 10 Jun 2004 01:43:29 +0000 Subject: [PATCH] Add new BinaryOperator::createAdd/Sub/... methods to avoid having to type llvm::Instruction:: all of the time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14105 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/InstrTypes.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/llvm/InstrTypes.h b/include/llvm/InstrTypes.h index c615888d818..723b3547170 100644 --- a/include/llvm/InstrTypes.h +++ b/include/llvm/InstrTypes.h @@ -106,6 +106,22 @@ public: static BinaryOperator *create(BinaryOps Op, Value *S1, Value *S2, const std::string &Name, BasicBlock *InsertAtEnd); + + /// create* - These methods just forward to create, and are useful when you + /// statically know what type of instruction you're going to create. These + /// helpers just save some typing. +#define HANDLE_BINARY_INST(N, OPC, CLASS) \ + static BinaryOperator *create##OPC(Value *V1, Value *V2, \ + const std::string &Name = "") {\ + return create(Instruction::OPC, V1, V2, Name);\ + } +#include "llvm/Instruction.def" +#define HANDLE_BINARY_INST(N, OPC, CLASS) \ + static BinaryOperator *create##OPC(Value *V1, Value *V2, \ + const std::string &Name, BasicBlock *BB) {\ + return create(Instruction::OPC, V1, V2, Name, BB);\ + } +#include "llvm/Instruction.def" /// Helper functions to construct and inspect unary operations (NEG and NOT)