// option. This file may not be copied, modified, or distributed
// except according to those terms.
-use llvm::{AtomicRmwBinOp, AtomicOrdering, SynchronizationScope, AsmDialect};
+use llvm::AsmDialect;
use common::*;
use type_::Type;
use libc::c_char;
pub fn new(name: &'ll str, val: &'ll Value) -> Self {
OperandBundleDef {
name,
- val,
+ val
}
}
}
IntSGT,
IntSGE,
IntSLT,
- IntSLE,
+ IntSLE
}
#[allow(dead_code)]
RealULT,
RealULE,
RealUNE,
- RealPredicateTrue,
+ RealPredicateTrue
}
+pub enum AtomicRmwBinOp {
+ AtomicXchg,
+ AtomicAdd,
+ AtomicSub,
+ AtomicAnd,
+ AtomicNand,
+ AtomicOr,
+ AtomicXor,
+ AtomicMax,
+ AtomicMin,
+ AtomicUMax,
+ AtomicUMin
+}
+
+pub enum AtomicOrdering {
+ #[allow(dead_code)]
+ NotAtomic,
+ Unordered,
+ Monotonic,
+ // Consume, // Not specified yet.
+ Acquire,
+ Release,
+ AcquireRelease,
+ SequentiallyConsistent,
+}
+
+pub enum SynchronizationScope {
+ // FIXME: figure out if this variant is needed at all.
+ #[allow(dead_code)]
+ Other,
+ SingleThread,
+ CrossThread,
+}
+
+
pub trait BuilderMethods<'a, 'll :'a, 'tcx: 'll,
Value : ?Sized,
BasicBlock: ?Sized