Skip to content
  • Jason Molenda's avatar
    Add new ArchSpec methods, IsCompatibleMatch() and IsExactMatch(). · ba813dc0
    Jason Molenda authored
    The operator== method is a synonym for IsExactMatch().  
    
    The essential difference between these two is that IsCompatibleMatch()
    will say that armv7 and armv7s are compatible and return true.
    IsExactMatch() will say that armv7 and armv7s are not a match.
    
    An armv7s cpu can run either generic armv7 binaries or armv7s binaries
    (the latter being tuned for it).  When we're picking the slice of a 
    universal Mach-O file to load in an armv7s Target, we need to be able to
    first look for an exact cpu subtype match (armv7s == armv7s) and failing
    that, looking for a slice with a compatible architecture.
    
    Update ObjectContainerUniversalMachO::GetObjectFile to prefer an exact
    match of the cpu type, falling back to a compatible match if necessary.
    
    <rdar://problem/12593515>
    
    llvm-svn: 167365
    ba813dc0
Loading