<commit_before>
#pragma once

#include <llvm/IR/IRBuilder.h>

namespace dev
{
namespace eth
{
namespace jit
{

class Endianness
{
public:

	static llvm::Value* toBE(llvm::IRBuilder<>& _builder, llvm::Value* _word) { return bswap(_builder, _word); }

	static llvm::Value* toNative(llvm::IRBuilder<>& _builder, llvm::Value* _word) { return bswap(_builder, _word); }

private:
	static llvm::Value* bswap(llvm::IRBuilder<>& _builder, llvm::Value* _word);
};

}
}
}<commit_msg>Add support for Big Endian architectures [Delivers #79877740]<commit_after>
#pragma once

#include <boost/detail/endian.hpp>

#include <llvm/IR/IRBuilder.h>

namespace dev
{
namespace eth
{
namespace jit
{

struct Endianness
{

#if defined(BOOST_LITTLE_ENDIAN)
	static llvm::Value* toBE(llvm::IRBuilder<>& _builder, llvm::Value* _word) { return bswap(_builder, _word); }
	static llvm::Value* toNative(llvm::IRBuilder<>& _builder, llvm::Value* _word) { return bswap(_builder, _word); }

#elif defined(BOOST_BIG_ENDIAN)
	static llvm::Value* toBE(llvm::IRBuilder<>&, llvm::Value* _word) { return _word; }
	static llvm::Value* toNative(llvm::IRBuilder<>&, llvm::Value* _word) { return _word; }

#endif	// Add support for PDP endianness if needed

private:
	static llvm::Value* bswap(llvm::IRBuilder<>& _builder, llvm::Value* _word);
};

}
}
}
{'fraction_non_alphanumeric': 0.1549618320610687, 'fraction_numerical': 0.0061068702290076335, 'mean_word_length': 6.491428571428571, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2812305', 'n_tokens_mistral': 477, 'n_tokens_neox': 478, 'n_words': 112}