aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-02-27 10:00:07 -0500
committerAndrew Kelley <superjoe30@gmail.com>2018-02-27 14:57:49 -0500
commitc2f5634fb3df51622cf74f23b4ae0d4a7d2bbbe9 (patch)
tree18dec1e751c7383933b9fca4ddb435ae739c6a49 /src/analyze.cpp
parent4e43bde924694a640cfec13141df1f3f611ffe0f (diff)
downloadzig-c2f5634fb3df51622cf74f23b4ae0d4a7d2bbbe9.tar.gz
zig-c2f5634fb3df51622cf74f23b4ae0d4a7d2bbbe9.zip
another llvm workaround for getelementptr
Diffstat (limited to 'src/analyze.cpp')
-rw-r--r--src/analyze.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index 26924cc7db..9c5e4ffdde 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -5821,3 +5821,11 @@ bool type_is_global_error_set(TypeTableEntry *err_set_type) {
uint32_t get_coro_frame_align_bytes(CodeGen *g) {
return g->pointer_size_bytes * 2;
}
+
+uint32_t workaround_struct_gep_hash(WorkaroundStructGEPId x) {
+ return ptr_hash(x.struct_ptr_type) ^ x.index;
+}
+
+bool workaround_struct_gep_eq(WorkaroundStructGEPId a, WorkaroundStructGEPId b) {
+ return a.struct_ptr_type == b.struct_ptr_type && a.index == b.index;
+}