LLVM: lib/Support/BLAKE3/blake3.c File Reference (original) (raw)

#include <assert.h>
#include <stdbool.h>
#include <[string.h](string%5F8h%5Fsource.html)>
#include "[blake3_impl.h](blake3%5F%5Fimpl%5F8h%5Fsource.html)"

Go to the source code of this file.

Functions
const char * llvm_blake3_version (void)
INLINE void chunk_state_init (blake3_chunk_state *self, const uint32_t key[8], uint8_t flags)
INLINE void chunk_state_reset (blake3_chunk_state *self, const uint32_t key[8], uint64_t chunk_counter)
INLINE size_t chunk_state_len (const blake3_chunk_state *self)
INLINE size_t chunk_state_fill_buf (blake3_chunk_state *self, const uint8_t *input, size_t input_len)
INLINE uint8_t chunk_state_maybe_start_flag (const blake3_chunk_state *self)
INLINE output_t make_output (const uint32_t input_cv[8], const uint8_t block[BLAKE3_BLOCK_LEN], uint8_t block_len, uint64_t counter, uint8_t flags)
INLINE void output_chaining_value (const output_t *self, uint8_t cv[32])
INLINE void output_root_bytes (const output_t *self, uint64_t seek, uint8_t *out, size_t out_len)
INLINE void chunk_state_update (blake3_chunk_state *self, const uint8_t *input, size_t input_len)
INLINE output_t chunk_state_output (const blake3_chunk_state *self)
INLINE output_t parent_output (const uint8_t block[BLAKE3_BLOCK_LEN], const uint32_t key[8], uint8_t flags)
INLINE size_t left_subtree_len (size_t input_len)
INLINE size_t compress_chunks_parallel (const uint8_t *input, size_t input_len, const uint32_t key[8], uint64_t chunk_counter, uint8_t flags, uint8_t *out)
INLINE size_t compress_parents_parallel (const uint8_t *child_chaining_values, size_t num_chaining_values, const uint32_t key[8], uint8_t flags, uint8_t *out)
size_t blake3_compress_subtree_wide (const uint8_t *input, size_t input_len, const uint32_t key[8], uint64_t chunk_counter, uint8_t flags, uint8_t *out, bool use_tbb)
INLINE void compress_subtree_to_parent_node (const uint8_t *input, size_t input_len, const uint32_t key[8], uint64_t chunk_counter, uint8_t flags, uint8_t out[2 *BLAKE3_OUT_LEN], bool use_tbb)
INLINE void hasher_init_base (blake3_hasher *self, const uint32_t key[8], uint8_t flags)
void llvm_blake3_hasher_init (blake3_hasher *self)
void llvm_blake3_hasher_init_keyed (blake3_hasher *self, const uint8_t key[BLAKE3_KEY_LEN])
void llvm_blake3_hasher_init_derive_key_raw (blake3_hasher *self, const void *context, size_t context_len)
void llvm_blake3_hasher_init_derive_key (blake3_hasher *self, const char *context)
INLINE void hasher_merge_cv_stack (blake3_hasher *self, uint64_t total_len)
INLINE void hasher_push_cv (blake3_hasher *self, uint8_t new_cv[BLAKE3_OUT_LEN], uint64_t chunk_counter)
INLINE void blake3_hasher_update_base (blake3_hasher *self, const void *input, size_t input_len, bool use_tbb)
void llvm_blake3_hasher_update (blake3_hasher *self, const void *input, size_t input_len)
void llvm_blake3_hasher_finalize (const blake3_hasher *self, uint8_t *out, size_t out_len)
void llvm_blake3_hasher_finalize_seek (const blake3_hasher *self, uint64_t seek, uint8_t *out, size_t out_len)
void llvm_blake3_hasher_reset (blake3_hasher *self)

blake3_compress_subtree_wide()

blake3_hasher_update_base()

Definition at line 482 of file blake3.c.

References BLAKE3_CHUNK_LEN, blake3_chunk_state, blake3_hasher, BLAKE3_OUT_LEN, chunk_state_init(), chunk_state_len(), chunk_state_output(), chunk_state_reset(), chunk_state_update(), compress_subtree_to_parent_node(), hasher_merge_cv_stack(), hasher_push_cv(), INLINE, output_chaining_value(), and round_down_to_power_of_2().

Referenced by llvm_blake3_hasher_update().

chunk_state_fill_buf()

chunk_state_init()

chunk_state_len()

chunk_state_maybe_start_flag()

chunk_state_output()

chunk_state_reset()

chunk_state_update()

compress_chunks_parallel()

Definition at line 179 of file blake3.c.

References assert(), BLAKE3_BLOCK_LEN, BLAKE3_CHUNK_LEN, blake3_chunk_state, blake3_hash_many, BLAKE3_OUT_LEN, CHUNK_END, CHUNK_START, chunk_state_init(), chunk_state_output(), chunk_state_update(), INLINE, MAX_SIMD_DEGREE, and output_chaining_value().

Referenced by blake3_compress_subtree_wide().

compress_parents_parallel()

compress_subtree_to_parent_node()

hasher_init_base()

hasher_merge_cv_stack()

hasher_push_cv()

left_subtree_len()

INLINE size_t left_subtree_len ( size_t input_len )

llvm_blake3_hasher_finalize()

llvm_blake3_hasher_finalize_seek()

llvm_blake3_hasher_init()

llvm_blake3_hasher_init_derive_key()

llvm_blake3_hasher_init_derive_key_raw()

void llvm_blake3_hasher_init_derive_key_raw ( blake3_hasher * self,
const void * context,
size_t context_len )

llvm_blake3_hasher_init_keyed()

llvm_blake3_hasher_reset()

llvm_blake3_hasher_update()

void llvm_blake3_hasher_update ( blake3_hasher * self,
const void * input,
size_t input_len )

llvm_blake3_version()

make_output()

output_chaining_value()

Definition at line 88 of file blake3.c.

References blake3_compress_in_place, output_t::block, output_t::block_len, output_t::counter, output_t::flags, INLINE, output_t::input_cv, and store_cv_words().

Referenced by blake3_hasher_update_base(), compress_chunks_parallel(), hasher_merge_cv_stack(), and llvm_blake3_hasher_finalize_seek().

output_root_bytes()

parent_output()