Go to the documentation of this file.
13 #ifndef LLVM_SUPPORT_DISCRIMINATOR_H
14 #define LLVM_SUPPORT_DISCRIMINATOR_H
26 return U > 0x1f ? (((U & 0xfe0) << 1) | (U & 0x1f) | 0x20) : U;
34 return (U & 0x20) ? (((U >> 1) & 0xfe0) | (U & 0x1f)) : (U & 0x1f);
40 return D >> ((
D & 0x40) ? 14 : 7);
50 return (
C == 0) ? 1 : (
C > 0x1f ? 14 : 7);
56 namespace sampleprof {
68 using namespace sampleprof;
90 unsigned I =
static_cast<unsigned>(
P);
99 unsigned I =
static_cast<unsigned>(
P);
127 assert((
N < 32) &&
"N is invalid");
128 return (1U << (
N + 1)) - 1;
static unsigned getNextComponentInDiscriminator(unsigned D)
Returns the next component stored in discriminator.
static unsigned getFSPassBitBegin(FSDiscriminatorPass P)
This is an optimization pass for GlobalISel generic memory operations.
static unsigned getUnsignedFromPrefixEncoding(unsigned U)
Reverse transformation as getPrefixEncodingFromUnsigned.
static unsigned getBaseFSBitBegin()
This currently compiles esp xmm0 movsd esp eax eax esp ret We should use not the dag combiner This is because dagcombine2 needs to be able to see through the X86ISD::Wrapper which DAGCombine can t really do The code for turning x load into a single vector load is target independent and should be moved to the dag combiner The code for turning x load into a vector load can only handle a direct load from a global or a direct load from the stack It should be generalized to handle any load from P
static const unsigned BaseDiscriminatorBitWidth
static unsigned encodingBits(unsigned C)
static unsigned getN1Bits(int N)
static unsigned getBaseFSBitEnd()
static unsigned getNumFSPasses()
(vector float) vec_cmpeq(*A, *B) C
static const unsigned FSDiscriminatorBitWidth
static unsigned encodeComponent(unsigned C)
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static unsigned getPrefixEncodingFromUnsigned(unsigned U)
With a given unsigned int U, use up to 13 bits to represent it.
static int getLastFSPassBitBegin()
static unsigned getFSPassBitEnd(FSDiscriminatorPass P)
static unsigned getLastFSPassBitEnd()