Go to the documentation of this file.
14 #ifndef LLVM_SUPPORT_ENDIANSTREAM_H
15 #define LLVM_SUPPORT_ENDIANSTREAM_H
27 template <
typename value_type>
29 value = byte_swap<value_type>(value,
endian);
30 os.
write((
const char *)&value,
sizeof(value_type));
44 template <
typename value_type>
47 for (value_type v : vals)
59 template <
typename value_type>
void write(value_type Val) {
This is an optimization pass for GlobalISel generic memory operations.
Writer(raw_ostream &OS, endianness Endian)
uint32_t FloatToBits(float Float)
This function takes a float and returns the bit equivalent 32-bit integer.
void write(value_type Val)
Adapter to write values to a stream in a particular byte order.
uint64_t DoubleToBits(double Double)
This function takes a double and returns the bit equivalent 64-bit integer.
raw_ostream & write(unsigned char C)
This class implements an extremely fast bulk output stream that can only output to a stream.
void write(void *memory, value_type value, endianness endian)
Write a value to memory with a particular endianness.
void write< float >(raw_ostream &os, float value, endianness endian)
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
void write(ArrayRef< value_type > Val)
Reimplement select in terms of SEL *We would really like to support but we need to prove that the add doesn t need to overflow between the two bit chunks *Implement pre post increment support(e.g. PR935) *Implement smarter const ant generation for binops with large immediates. A few ARMv6T2 ops should be pattern matched
void write< double >(raw_ostream &os, double value, endianness endian)