~ubuntu-branches/ubuntu/trusty/llvm-toolchain-snapshot/trusty-201310232150

« back to all changes in this revision

Viewing changes to lib/CodeGen/TargetRegisterInfo.cpp

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-27 15:01:57 UTC
  • mfrom: (0.10.1) (0.9.1) (0.8.1) (0.7.1) (0.6.1) (0.5.2)
  • Revision ID: package-import@ubuntu.com-20130527150157-tdkrsjpuvht7v0qx
Tags: 1:3.4~svn182733-1~exp1
* New snapshot release (3.4 release)
* Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
    to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
  * Various packages rename to allow co installations:
    * libclang1 => libclang1-3.4
    * libclang1-dbg => libclang1-3.4-dbg
    * libclang-dev => libclang-3.4-dev
    * libclang-common-dev => libclang-common-3.4-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
TargetRegisterInfo::TargetRegisterInfo(const TargetRegisterInfoDesc *ID,
24
24
                             regclass_iterator RCB, regclass_iterator RCE,
25
25
                             const char *const *SRINames,
26
 
                             const unsigned *SRILaneMasks)
 
26
                             const unsigned *SRILaneMasks,
 
27
                             unsigned SRICoveringLanes)
27
28
  : InfoDesc(ID), SubRegIndexNames(SRINames),
28
29
    SubRegIndexLaneMasks(SRILaneMasks),
29
 
    RegClassBegin(RCB), RegClassEnd(RCE) {
 
30
    RegClassBegin(RCB), RegClassEnd(RCE),
 
31
    CoveringLanes(SRICoveringLanes) {
30
32
}
31
33
 
32
34
TargetRegisterInfo::~TargetRegisterInfo() {}
83
85
       Base < BaseE; Base += 32) {
84
86
    unsigned Idx = Base;
85
87
    for (unsigned Mask = *SubClass++; Mask; Mask >>= 1) {
86
 
      unsigned Offset = CountTrailingZeros_32(Mask);
 
88
      unsigned Offset = countTrailingZeros(Mask);
87
89
      const TargetRegisterClass *SubRC = getRegClass(Idx + Offset);
88
90
      if (SubRC->isAllocatable())
89
91
        return SubRC;
153
155
                                            const TargetRegisterInfo *TRI) {
154
156
  for (unsigned I = 0, E = TRI->getNumRegClasses(); I < E; I += 32)
155
157
    if (unsigned Common = *A++ & *B++)
156
 
      return TRI->getRegClass(I + CountTrailingZeros_32(Common));
 
158
      return TRI->getRegClass(I + countTrailingZeros(Common));
157
159
  return 0;
158
160
}
159
161