Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Unified Diff: include/llvm/Bitcode/NaCl/NaClBitcodeDecoders.h

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/llvm/Bitcode/NaCl/NaClBitcodeCodeDist.h ('k') | include/llvm/Bitcode/NaCl/NaClBitcodeDist.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/llvm/Bitcode/NaCl/NaClBitcodeDecoders.h
diff --git a/include/llvm/Bitcode/NaCl/NaClBitcodeDecoders.h b/include/llvm/Bitcode/NaCl/NaClBitcodeDecoders.h
new file mode 100644
index 0000000000000000000000000000000000000000..a3250e0c2219a7a787b2fb757872cfc137516454
--- /dev/null
+++ b/include/llvm/Bitcode/NaCl/NaClBitcodeDecoders.h
@@ -0,0 +1,74 @@
+//===- NaClBitcodeDecoders.h -------------------------------------*- C++ -*-===//
+// Functions used to decode values in PNaCl bitcode files.
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This header file provides a public API for value decoders defined in
+// the PNaCl bitcode reader.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_BITCODE_NACL_NACLBITCODEDECODERS_H
+#define LLVM_BITCODE_NACL_NACLBITCODEDECODERS_H
+
+#include "llvm/IR/CallingConv.h"
+#include "llvm/IR/GlobalValue.h"
+#include "llvm/IR/InstrTypes.h"
+#include "llvm/IR/Instruction.h"
+#include "llvm/Bitcode/NaCl/NaClLLVMBitCodes.h"
+
+namespace llvm {
+namespace naclbitc {
+
+/// Converts the NaCl (bitcode file) cast opcode to the corresponding
+/// LLVM cast opcode. Returns true if the conversion
+/// succeeds. Otherwise sets LLVMOpcode to Instruction::BitCast and
+/// returns false.
+bool DecodeCastOpcode(uint64_t NaClOpcode,
+ Instruction::CastOps &LLVMOpcode);
+
+/// Converts the NaCl (bitcode file) linkage type to the corresponding
+/// LLVM linkage type. Returns true if the conversion
+/// succeeds. Otherwise sets LLVMLinkage to
+/// GlobalValue::InternalLinkage and returns false.
+bool DecodeLinkage(uint64_t NaClLinkage,
+ GlobalValue::LinkageTypes &LLVMLinkage);
+
+/// Converts the NaCl (bitcode file) binary opcode to the
+/// corresponding LLVM binary opcode, assuming that the operator
+/// operates on OpType. Returns true if the conversion
+/// succeeds. Otherwise sets LLVMOpcode to Instruction::Add and
+/// returns false.
+bool DecodeBinaryOpcode(uint64_t NaClOpcode, Type *OpType,
+ Instruction::BinaryOps &LLVMOpcode);
+
+/// Converts the NaCl (bitcode file) calling convention value to the
+/// corresponding LLVM calling conventions. Returns true if the
+/// conversion succeeds. Otherwise sets LLVMCallingConv to
+/// CallingConv::C and returns false.
+bool DecodeCallingConv(uint64_t NaClCallingConv,
+ CallingConv::ID &LLVMCallingConv);
+
+/// Converts the NaCl (bitcode file) float comparison predicate to the
+/// corresponding LLVM float comparison predicate. Returns true if the
+/// conversion succeeds. Otherwise sets LLVMPredicate to
+/// CmpInst::FCMP_FALSE and returns false.
+bool DecodeFcmpPredicate(uint64_t NaClPredicate,
+ CmpInst::Predicate &LLVMPredicate);
+
+/// Converts the NaCl (bitcode file) integer comparison predicate to
+/// the corresponding LLVM integer comparison predicate. Returns true
+/// if the conversion succeeds. Otherwise sets LLVMPredicate to
+/// CmpInst::ICMP_EQ and returns false.
+bool DecodeIcmpPredicate(uint64_t NaClPredicate,
+ CmpInst::Predicate &LLVMPredicate);
+
+}
+}
+
+#endif
« no previous file with comments | « include/llvm/Bitcode/NaCl/NaClBitcodeCodeDist.h ('k') | include/llvm/Bitcode/NaCl/NaClBitcodeDist.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698