Subzero: Use a "known" version of clang-format.
There are two problems with "make format" and "make format-diff" in
Makefile.standalone:
1. You have to make sure clang-format and clang-format-diff.py are
available in $PATH.
2. Different users may have different versions installed (even for the
same user on different machines), leading to whitespace wars. Can't we
all just get along?
Since the normal LLVM build that Subzero depends on also exposes and
builds clang-format and friends, we might as well use it. The
clang-format binary is found in $LLVM_BIN_PATH, and clang-format-diff.py
is found relative to $LLVM_SRC_PATH. As long as the user's LLVM build
is fairly up to date, whitespace wars are unlikely.
Given this, there's a much higher incentive to use "make format"
regularly instead of "make format-diff". In particular, inline comments
on variable/field declaration lists can get lined up more nicely by
looking at the entire context, rather than the small diff window.
BUG= none
R=jvoung@chromium.org
Review URL: https://codereview.chromium.org/877003003
diff --git a/src/IceIntrinsics.cpp b/src/IceIntrinsics.cpp
index 16d07e1..29b8ad2 100644
--- a/src/IceIntrinsics.cpp
+++ b/src/IceIntrinsics.cpp
@@ -28,7 +28,8 @@
namespace {
-#define INTRIN(ID, SE, RT) { Intrinsics::ID, Intrinsics::SE, Intrinsics::RT }
+#define INTRIN(ID, SE, RT) \
+ { Intrinsics::ID, Intrinsics::SE, Intrinsics::RT }
// Build list of intrinsics with their attributes and expected prototypes.
// List is sorted alphabetically.
@@ -40,163 +41,169 @@
#define AtomicCmpxchgInit(Overload, NameSuffix) \
{ \
{ \
- INTRIN(AtomicCmpxchg, SideEffects_T, ReturnsTwice_F), \
- { Overload, IceType_i32, Overload, Overload, IceType_i32, IceType_i32 }, \
- 6 }, \
- "nacl.atomic.cmpxchg." NameSuffix \
+ INTRIN(AtomicCmpxchg, SideEffects_T, ReturnsTwice_F), {Overload, \
+ IceType_i32, \
+ Overload, \
+ Overload, \
+ IceType_i32, \
+ IceType_i32}, \
+ 6 \
+ } \
+ , "nacl.atomic.cmpxchg." NameSuffix \
}
- AtomicCmpxchgInit(IceType_i8, "i8"),
- AtomicCmpxchgInit(IceType_i16, "i16"),
- AtomicCmpxchgInit(IceType_i32, "i32"),
- AtomicCmpxchgInit(IceType_i64, "i64"),
+ AtomicCmpxchgInit(IceType_i8, "i8"),
+ AtomicCmpxchgInit(IceType_i16, "i16"),
+ AtomicCmpxchgInit(IceType_i32, "i32"),
+ AtomicCmpxchgInit(IceType_i64, "i64"),
#undef AtomicCmpxchgInit
- { { INTRIN(AtomicFence, SideEffects_T, ReturnsTwice_F),
- { IceType_void, IceType_i32 }, 2 },
- "nacl.atomic.fence" },
- { { INTRIN(AtomicFenceAll, SideEffects_T, ReturnsTwice_F),
- { IceType_void }, 1 },
- "nacl.atomic.fence.all" },
- { { INTRIN(AtomicIsLockFree, SideEffects_F, ReturnsTwice_F),
- { IceType_i1, IceType_i32, IceType_i32 }, 3 },
- "nacl.atomic.is.lock.free" },
+ {{INTRIN(AtomicFence, SideEffects_T, ReturnsTwice_F),
+ {IceType_void, IceType_i32},
+ 2},
+ "nacl.atomic.fence"},
+ {{INTRIN(AtomicFenceAll, SideEffects_T, ReturnsTwice_F),
+ {IceType_void},
+ 1},
+ "nacl.atomic.fence.all"},
+ {{INTRIN(AtomicIsLockFree, SideEffects_F, ReturnsTwice_F),
+ {IceType_i1, IceType_i32, IceType_i32},
+ 3},
+ "nacl.atomic.is.lock.free"},
#define AtomicLoadInit(Overload, NameSuffix) \
{ \
{ \
INTRIN(AtomicLoad, SideEffects_T, ReturnsTwice_F), \
- { Overload, IceType_i32, IceType_i32 }, 3 }, \
- "nacl.atomic.load." NameSuffix \
+ {Overload, IceType_i32, IceType_i32}, 3 \
+ } \
+ , "nacl.atomic.load." NameSuffix \
}
- AtomicLoadInit(IceType_i8, "i8"),
- AtomicLoadInit(IceType_i16, "i16"),
- AtomicLoadInit(IceType_i32, "i32"),
- AtomicLoadInit(IceType_i64, "i64"),
+ AtomicLoadInit(IceType_i8, "i8"),
+ AtomicLoadInit(IceType_i16, "i16"),
+ AtomicLoadInit(IceType_i32, "i32"),
+ AtomicLoadInit(IceType_i64, "i64"),
#undef AtomicLoadInit
#define AtomicRMWInit(Overload, NameSuffix) \
{ \
{ \
INTRIN(AtomicRMW, SideEffects_T, ReturnsTwice_F) \
- , { Overload, IceType_i32, IceType_i32, Overload, IceType_i32 }, 5 \
+ , {Overload, IceType_i32, IceType_i32, Overload, IceType_i32}, 5 \
} \
, "nacl.atomic.rmw." NameSuffix \
}
- AtomicRMWInit(IceType_i8, "i8"),
- AtomicRMWInit(IceType_i16, "i16"),
- AtomicRMWInit(IceType_i32, "i32"),
- AtomicRMWInit(IceType_i64, "i64"),
+ AtomicRMWInit(IceType_i8, "i8"),
+ AtomicRMWInit(IceType_i16, "i16"),
+ AtomicRMWInit(IceType_i32, "i32"),
+ AtomicRMWInit(IceType_i64, "i64"),
#undef AtomicRMWInit
#define AtomicStoreInit(Overload, NameSuffix) \
{ \
{ \
INTRIN(AtomicStore, SideEffects_T, ReturnsTwice_F) \
- , { IceType_void, Overload, IceType_i32, IceType_i32 }, 4 \
+ , {IceType_void, Overload, IceType_i32, IceType_i32}, 4 \
} \
, "nacl.atomic.store." NameSuffix \
}
- AtomicStoreInit(IceType_i8, "i8"),
- AtomicStoreInit(IceType_i16, "i16"),
- AtomicStoreInit(IceType_i32, "i32"),
- AtomicStoreInit(IceType_i64, "i64"),
+ AtomicStoreInit(IceType_i8, "i8"),
+ AtomicStoreInit(IceType_i16, "i16"),
+ AtomicStoreInit(IceType_i32, "i32"),
+ AtomicStoreInit(IceType_i64, "i64"),
#undef AtomicStoreInit
#define BswapInit(Overload, NameSuffix) \
{ \
{ \
INTRIN(Bswap, SideEffects_F, ReturnsTwice_F) \
- , { Overload, Overload }, 2 \
+ , {Overload, Overload}, 2 \
} \
, "bswap." NameSuffix \
}
- BswapInit(IceType_i16, "i16"),
- BswapInit(IceType_i32, "i32"),
- BswapInit(IceType_i64, "i64"),
+ BswapInit(IceType_i16, "i16"),
+ BswapInit(IceType_i32, "i32"),
+ BswapInit(IceType_i64, "i64"),
#undef BswapInit
#define CtlzInit(Overload, NameSuffix) \
{ \
{ \
INTRIN(Ctlz, SideEffects_F, ReturnsTwice_F) \
- , { Overload, Overload, IceType_i1 }, 3 \
+ , {Overload, Overload, IceType_i1}, 3 \
} \
, "ctlz." NameSuffix \
}
- CtlzInit(IceType_i32, "i32"),
- CtlzInit(IceType_i64, "i64"),
+ CtlzInit(IceType_i32, "i32"),
+ CtlzInit(IceType_i64, "i64"),
#undef CtlzInit
#define CtpopInit(Overload, NameSuffix) \
{ \
{ \
INTRIN(Ctpop, SideEffects_F, ReturnsTwice_F) \
- , { Overload, Overload }, 2 \
+ , {Overload, Overload}, 2 \
} \
, "ctpop." NameSuffix \
}
- CtpopInit(IceType_i32, "i32"),
- CtpopInit(IceType_i64, "i64"),
+ CtpopInit(IceType_i32, "i32"),
+ CtpopInit(IceType_i64, "i64"),
#undef CtpopInit
#define CttzInit(Overload, NameSuffix) \
{ \
{ \
INTRIN(Cttz, SideEffects_F, ReturnsTwice_F) \
- , { Overload, Overload, IceType_i1 }, 3 \
+ , {Overload, Overload, IceType_i1}, 3 \
} \
, "cttz." NameSuffix \
}
- CttzInit(IceType_i32, "i32"),
- CttzInit(IceType_i64, "i64"),
+ CttzInit(IceType_i32, "i32"),
+ CttzInit(IceType_i64, "i64"),
#undef CttzInit
- { { INTRIN(Longjmp, SideEffects_T, ReturnsTwice_F),
- { IceType_void, IceType_i32, IceType_i32 }, 3 },
- "nacl.longjmp" },
- { { INTRIN(Memcpy, SideEffects_T, ReturnsTwice_F),
- { IceType_void, IceType_i32, IceType_i32, IceType_i32, IceType_i32,
- IceType_i1},
- 6 },
- "memcpy.p0i8.p0i8.i32" },
- { { INTRIN(Memmove, SideEffects_T, ReturnsTwice_F),
- { IceType_void, IceType_i32, IceType_i32, IceType_i32, IceType_i32,
- IceType_i1 },
- 6 },
- "memmove.p0i8.p0i8.i32" },
- { { INTRIN(Memset, SideEffects_T, ReturnsTwice_F),
- { IceType_void, IceType_i32, IceType_i8, IceType_i32, IceType_i32,
- IceType_i1 },
- 6 },
- "memset.p0i8.i32" },
- { { INTRIN(NaClReadTP, SideEffects_F, ReturnsTwice_F),
- { IceType_i32 }, 1 },
- "nacl.read.tp" },
- { { INTRIN(Setjmp, SideEffects_T, ReturnsTwice_T),
- { IceType_i32, IceType_i32 }, 2 },
- "nacl.setjmp" },
+ {{INTRIN(Longjmp, SideEffects_T, ReturnsTwice_F),
+ {IceType_void, IceType_i32, IceType_i32},
+ 3},
+ "nacl.longjmp"},
+ {{INTRIN(Memcpy, SideEffects_T, ReturnsTwice_F),
+ {IceType_void, IceType_i32, IceType_i32, IceType_i32, IceType_i32,
+ IceType_i1},
+ 6},
+ "memcpy.p0i8.p0i8.i32"},
+ {{INTRIN(Memmove, SideEffects_T, ReturnsTwice_F),
+ {IceType_void, IceType_i32, IceType_i32, IceType_i32, IceType_i32,
+ IceType_i1},
+ 6},
+ "memmove.p0i8.p0i8.i32"},
+ {{INTRIN(Memset, SideEffects_T, ReturnsTwice_F),
+ {IceType_void, IceType_i32, IceType_i8, IceType_i32, IceType_i32,
+ IceType_i1},
+ 6},
+ "memset.p0i8.i32"},
+ {{INTRIN(NaClReadTP, SideEffects_F, ReturnsTwice_F), {IceType_i32}, 1},
+ "nacl.read.tp"},
+ {{INTRIN(Setjmp, SideEffects_T, ReturnsTwice_T),
+ {IceType_i32, IceType_i32},
+ 2},
+ "nacl.setjmp"},
#define SqrtInit(Overload, NameSuffix) \
{ \
- { \
- INTRIN(Sqrt, SideEffects_F, ReturnsTwice_F), \
- { Overload, Overload }, 2 }, \
- "sqrt." NameSuffix \
+ { INTRIN(Sqrt, SideEffects_F, ReturnsTwice_F), {Overload, Overload}, 2 } \
+ , "sqrt." NameSuffix \
}
- SqrtInit(IceType_f32, "f32"),
- SqrtInit(IceType_f64, "f64"),
+ SqrtInit(IceType_f32, "f32"),
+ SqrtInit(IceType_f64, "f64"),
#undef SqrtInit
- { { INTRIN(Stacksave, SideEffects_T, ReturnsTwice_F),
- { IceType_i32 }, 1 },
- "stacksave" },
- { { INTRIN(Stackrestore, SideEffects_T, ReturnsTwice_F),
- { IceType_void, IceType_i32 }, 2 },
- "stackrestore" },
- { { INTRIN(Trap, SideEffects_T, ReturnsTwice_F),
- { IceType_void }, 1 },
- "trap" }
-};
+ {{INTRIN(Stacksave, SideEffects_T, ReturnsTwice_F), {IceType_i32}, 1},
+ "stacksave"},
+ {{INTRIN(Stackrestore, SideEffects_T, ReturnsTwice_F),
+ {IceType_void, IceType_i32},
+ 2},
+ "stackrestore"},
+ {{INTRIN(Trap, SideEffects_T, ReturnsTwice_F), {IceType_void}, 1},
+ "trap"}};
const size_t IceIntrinsicsTableSize = llvm::array_lengthof(IceIntrinsicsTable);
#undef INTRIN