Skip to content
  1. Oct 04, 2013
    • Craig Topper's avatar
      Add OPC_CheckChildSame0-3 to the DAG isel matcher. This replaces sequences of... · a2efe9eb
      Craig Topper authored
      Add OPC_CheckChildSame0-3 to the DAG isel matcher. This replaces sequences of MoveChild, CheckSame, MoveParent. Saves 846 bytes from the X86 DAG isel matcher, ~300 from ARM, ~840 from Hexagon.
      
      llvm-svn: 191940
      a2efe9eb
    • David Blaikie's avatar
      DebugInfo: Fix ordering of members after r191928 · 309ffe40
      David Blaikie authored
      In the case (shown in the attached test) where a member function
      definition was emitted into debug info the following could occur:
      
      1) build the debug info for the member function definition
      2) in (1), build the debug info for the member function declaration
      3) construct and add the member function declaration DIE
      4) add it to its context
      5) build its context (the type it is a member of)
      6) construct the members and add them to the type
      7) except don't add member functions because "getOrCreateSubprogram"
      adds the function to its parent anyway
      8) except we're only partway through building this subprogram
      declaration so it hasn't been added yet - but we returned the partially
      constructed DIE (since it's already in the MDNode->DIE mapping to avoid
      infinitely recursing trying to create the member function DIE)
      9) once the type is constructed, add the member function to it
      10) now the members are out of order (the member function being defined
      is listed as the last member, even though it was declared as the first)
      
      To avoid this, construct the context of the subprogram DIE before we
      query to see if it exists. That way we never end up creating it before
      creating its context and ending up in this situation.
      
      Alternatively, the type construction that visits/builds all the members
      could call something like getOrCreateSubprogram, but that doesn't ever
      do the "add to context" step. Then the type building code would always
      be responsible for adding members (and the subprogram "addToContextDIE"
      would no-op because the context building would have added the subprogram
      declaration to the type/context DIE already).
      
      (the test cases updated were overly-sensitive to offsets or abbreviation
      numbers. We don't have a nice way to make these tests more robust as yet
      - multiline FileCheck matches would be required)
      
      llvm-svn: 191939
      309ffe40
    • Andrew Kaylor's avatar
      Adding support and tests for multiple module handling in lli · 1b2cfb64
      Andrew Kaylor authored
      llvm-svn: 191938
      1b2cfb64
    • Jordan Rose's avatar
      [analyzer] Replace bug category magic strings with shared constants, take 2. · 6feda287
      Jordan Rose authored
      Re-commit r191910 (reverted in r191936) with layering violation fixed, by
      moving the bug categories to StaticAnalyzerCore instead of ...Checkers.
      
      llvm-svn: 191937
      6feda287
    • Richard Smith's avatar
      25d8e737
    • Peter Collingbourne's avatar
      libc++abi no longer has a cxa_demangle.h header. · db21c7bb
      Peter Collingbourne authored
      llvm-svn: 191935
      db21c7bb
    • Sean Callanan's avatar
      Changed the bool conversion operator on ConstString · ddd7a2a6
      Sean Callanan authored
      to be explicit, to prevent horrid things like
      
      std::string a = ConstString("foo")
      
      from taking the path ConstString -> bool -> char
      -> std::string.
      
      This fixes, among other things, ClangFunction.
      
      <rdar://problem/15137989>
      
      llvm-svn: 191934
      ddd7a2a6
    • Daniel Malea's avatar
      54e14615
    • Richard Mitton's avatar
      Fixed a bug with section names containing special characters. · c2508247
      Richard Mitton authored
      Changed the dwarf aranges code to not use getLabelEndName, as it turns out it's not reliable to call that given user-defined section names. Section names can have characters in that aren't representable as symbol names.
      
      The dwarf-aranges test case has been updated to include a special character, to check this.
      
      This fixes pr17416.
      
      llvm-svn: 191932
      c2508247
    • Peter Collingbourne's avatar
      Re-add bad_cast and bad_typeid default ctor definitions under libsupc++. · 3a572699
      Peter Collingbourne authored
      libsupc++ declares these constructors inline, so we won't necessarily
      get a definition for them in the library.
      
      llvm-svn: 191931
      3a572699
  2. Oct 03, 2013
Loading