Skip to content
  1. Dec 29, 2011
    • Craig Topper's avatar
      Remove trailing spaces. Fix an assert to use && instead of || before string.... · 274e20a4
      Craig Topper authored
      Remove trailing spaces. Fix an assert to use && instead of || before string. Add same assert on similar code path.
      
      llvm-svn: 147335
      274e20a4
    • Greg Clayton's avatar
      <rdar://problem/10568905> · d3444848
      Greg Clayton authored
      Fixed an issue where our new accelerator tables could cause a crash
      when we got a full 32 bit hash match, yet a C string mismatch.
      
      We had a member variable in DWARFMappedHash::Prologue named 
      "min_hash_data_byte_size" the would compute the byte size of HashData
      so we could skip hash data efficiently. It started out with a byte size
      value of 4. When we read the table in from disk, we would clear the
      atom array and read it from disk, and the byte size would still be set
      to 4. We would then, as we read each atom from disk, increment this count. 
      So the byte size of the HashData was off, which means when we get a lookup
      whose 32 bit hash does matches, but the C string does NOT match (which is
      very very rare), then we try and skip the data for that hash and we would
      add an incorrect offset and get off in our parsing of the hash data and 
      cause this crash. 
      
      To fix this I added a few safeguards:
      1 - I now correctly clear the hash data size when we reset the atom array using the new DWARFMappedHash::Prologue::ClearAtoms() function. 
      2 - I now correctly always let the AppendAtom() calculate the byte size of the hash (before we were doing things manually some times, which was correct, but not good)
      3 - I also track if the size of each HashData is a fixed byte size or not, and "do the right thing" when we need to skip the data.
      4 - If we do get off in the weeds, then I make sure to return an error and stop any further parsing from happening. 
      
      llvm-svn: 147334
      d3444848
    • Rafael Espindola's avatar
      Fix grammar error noticed by Duncan. · 3de68ab1
      Rafael Espindola authored
      llvm-svn: 147333
      3de68ab1
    • Greg Clayton's avatar
      <rdar://problem/10546739> · dcad5021
      Greg Clayton authored
      Fixed SBValue::GetValueAsUnsigned() and SBValue::GetValueAsSigned() calls to
      work for bitfields.
      
      llvm-svn: 147332
      dcad5021
    • DeLesley Hutchins's avatar
      Support for thread safety attributes on functions · 714296cb
      DeLesley Hutchins authored
      llvm-svn: 147331
      714296cb
    • Greg Clayton's avatar
      Centralize the code the reads the CFI so that we always log. · f97c5213
      Greg Clayton authored
      llvm-svn: 147330
      f97c5213
    • Kostya Serebryany's avatar
      d2d043be
    • Kostya Serebryany's avatar
      a7720961
    • Nick Lewycky's avatar
      Change CaptureTracking to pass a Use* instead of a Value* when a value is · 4c378a44
      Nick Lewycky authored
      captured. This allows the tracker to look at the specific use, which may be
      especially interesting for function calls.
      
      Use this to fix 'nocapture' deduction in FunctionAttrs. The existing one does
      not iterate until a fixpoint and does not guarantee that it produces the same
      result regardless of iteration order. The new implementation builds up a graph
      of how arguments are passed from function to function, and uses a bottom-up walk
      on the argument-SCCs to assign nocapture. This gets us nocapture more often, and
      does so rather efficiently and independent of iteration order.
      
      llvm-svn: 147327
      4c378a44
  2. Dec 28, 2011
  3. Dec 27, 2011
Loading