Skip to content
  1. Jul 30, 2011
    • Bill Wendling's avatar
      Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338, · ad088e67
      Bill Wendling authored
      r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
      r136445, r136446, r136253 pending review.
      
      llvm-svn: 136556
      ad088e67
    • Sean Callanan's avatar
      This change brings in the latest LLVM/Clang, and · cc427fad
      Sean Callanan authored
      completes the support in the LLDB expression parser
      for incomplete types.  Clang now imports types
      lazily, and we complete those types as necessary.
      
      Changes include:
      
      - ClangASTSource now supports three APIs which it
        passes to ClangExpressionDeclMap.  CompleteType
        completes a TagDecl or an ObjCInterfaceDecl when
        needed; FindExternalVisibleDecls finds named
        entities that are visible in the expression's
        scope; and FindExternalLexicalDecls performs a
        (potentially restricted) search for entities
        inside a lexical scope like a namespace.  These
        changes mean that entities in namespaces should
        work normally.
      
      - The SymbolFileDWARF code for searching a context
        for a specific name is now more general, and can
        search arbitrary contexts.
      
      - We are continuing to adapt our calls into LLVM
        from interfaces that take start and end iterators
        when accepting multiple items to interfaces that
        use ArrayRef.
      
      - I have cleaned up some code, especially our use
        of namespaces.
      
      This change is neutral for our testsuite and greatly
      improves correctness for large programs (like Clang)
      with complicated type systems.  It should also lay
      the groundwork for improving the expression parser's
      performance as we are lazier and lazier about
      providing type information.
      
      llvm-svn: 136555
      cc427fad
    • Greg Clayton's avatar
      Cleaned up the NSString summary formatter to not print "<invalid object>" when · fc1aa292
      Greg Clayton authored
      we have a nil NSString *. Also added blank lines between functions in the
      CFString.py files.
      
      llvm-svn: 136554
      fc1aa292
    • Johnny Chen's avatar
      Add a @benchmarks_test decorator for test method we want to categorize as benchmarks test. · 5ccbccfc
      Johnny Chen authored
      The test driver now takes an option "+b" which enables to run just the benchmarks tests.
      By default, tests decorated with the @benchmarks_test decorator do not get run.
      
      Add an example benchmarks test directory which contains nothing for the time being,
      just to demonstrate the @benchmarks_test concept.
      
      For example,
      
      $ ./dotest.py -v benchmarks
      
      ...
      
      ----------------------------------------------------------------------
      Collected 2 tests
      
      1: test_with_gdb (TestRepeatedExprs.RepeatedExprssCase)
         Test repeated expressions with gdb. ... skipped 'benchmarks tests'
      2: test_with_lldb (TestRepeatedExprs.RepeatedExprssCase)
         Test repeated expressions with lldb. ... skipped 'benchmarks tests'
      
      ----------------------------------------------------------------------
      Ran 2 tests in 0.047s
      
      OK (skipped=2)
      $ ./dotest.py -v +b benchmarks
      
      ...
      
      ----------------------------------------------------------------------
      Collected 2 tests
      
      1: test_with_gdb (TestRepeatedExprs.RepeatedExprssCase)
         Test repeated expressions with gdb. ... running test_with_gdb
      benchmarks result for test_with_gdb
      ok
      2: test_with_lldb (TestRepeatedExprs.RepeatedExprssCase)
         Test repeated expressions with lldb. ... running test_with_lldb
      benchmarks result for test_with_lldb
      ok
      
      ----------------------------------------------------------------------
      Ran 2 tests in 0.270s
      
      OK
      
      Also mark some Python API tests which are missing the @python_api_test decorator.
      
      llvm-svn: 136553
      5ccbccfc
    • Sean Callanan's avatar
      Added several architecture names. · 147c83ed
      Sean Callanan authored
      llvm-svn: 136552
      147c83ed
    • Greg Clayton's avatar
      Fixed a compile error. · 880cbb04
      Greg Clayton authored
      llvm-svn: 136551
      880cbb04
    • Fariborz Jahanian's avatar
      objc rewriter - my last patch was not quite right. · d560ed7f
      Fariborz Jahanian authored
      Fixed again. // rdar://9846759
      
      llvm-svn: 136550
      d560ed7f
    • Fariborz Jahanian's avatar
      objc rewriter - set the flag passed to _Block_object_assign/_Block_object_dispose correctly · bce9ee2a
      Fariborz Jahanian authored
      for copying a captured block object. // rdar://9846759
      
      llvm-svn: 136549
      bce9ee2a
    • Jakob Stoklund Olesen's avatar
      Revert "Don't check liveness of unallocatable registers." · 5670f850
      Jakob Stoklund Olesen authored
      The ARM target depends on CPSR liveness being tracked after register
      allocation.
      
      llvm-svn: 136548
      5670f850
    • Alexis Hunt's avatar
      Add the missing default argument for the allocator and use a cleaner · bf78786d
      Alexis Hunt authored
      implementation of previous().
      
      llvm-svn: 136547
      bf78786d
    • Alexis Hunt's avatar
      Destruct elements of hash tables when removing individual entries from · 9663c8cb
      Alexis Hunt authored
      the hash_table. I think this is the correct solution to PR10507, but I'm
      not sure since this is a little bit cargo-culted. Howard, please review.
      
      llvm-svn: 136546
      9663c8cb
    • Alexis Hunt's avatar
      Oops. That last commit was from an earlier revision of the file and was · 241bf439
      Alexis Hunt authored
      more than just a bit broken. This one should compile and run without
      infinite loops.
      
      llvm-svn: 136545
      241bf439
    • Enrico Granata's avatar
      changes in the new GetMinimumLanguages() ; robustness improvements in the... · 3bcee026
      Enrico Granata authored
      changes in the new GetMinimumLanguages() ; robustness improvements in the CFStringSynthProvider object ; made a CFString_SummaryProvider function you can use if all you care about is the summary string for your NSString objects
      
      llvm-svn: 136544
      3bcee026
    • Chandler Carruth's avatar
      Make my attempt to build up global deps variables actually utilize · 68b23116
      Chandler Carruth authored
      globally scoped constructs. Also, round-trip these dependencies through
      the LLVMConfig.cmake.in file thata is used by CMake-based clients of
      "installed" (or built) LLVM trees.
      
      llvm-svn: 136543
      68b23116
    • Alexis Hunt's avatar
      Include an "implementation" if SGI's slist. This was quickly hacked · 1e846797
      Alexis Hunt authored
      together to get it working with code, and is neither optimal
      (erase(Iterator, Iterator) calculates the previous iterator twice,
      rather than calculating the previous iterator of the first one, then
      advancing it until the second is found) nor complete (splice() was not
      implemented). Most of the implementation is borrowed from forward_list
      via using-declarations.
      
      llvm-svn: 136542
      1e846797
    • Jakob Stoklund Olesen's avatar
      Don't check liveness of unallocatable registers. · 95cc5440
      Jakob Stoklund Olesen authored
      This includes registers like EFLAGS and ST0-ST7. We don't check for
      liveness issues in the verifier and scavenger because registers will
      never be allocated from these classes.
      
      While in SSA form, we do care about the liveness of unallocatable
      unreserved registers. Liveness of EFLAGS and ST0 neds to be correct for
      MachineDCE and MachineSinking.
      
      llvm-svn: 136541
      95cc5440
    • Alexis Hunt's avatar
      Explicitly invoke the size_type specialization of max and min. This · 83243781
      Alexis Hunt authored
      avoids bugs where, when the allocator's size_type was smaller than int,
      the multiplication or division would cause integral promotions and, with
      two different integer types as arguments, deduction of the template
      arguments would fail.
      
      llvm-svn: 136540
      83243781
    • Alexis Hunt's avatar
      Add a new hash class in __gnu_ext for the extension containers. There · 8d2ed566
      Alexis Hunt authored
      are two motivations for this.
      
      First, this allows users who are specializing __gnu_ext::hash to
      continue doing so without changing their code.
      
      Second, SGI specifies hash overloads for char* and const char* that
      perform a hash of the string, not of the pointer.
      
      In order to support this, the hashing code for string is factored out.
      
      llvm-svn: 136539
      8d2ed566
    • Alexis Hunt's avatar
      Add two missing members from the extension hash containers. The first is · fe473ae2
      Alexis Hunt authored
      the type name 'data_type', which is specified by the SGI spec as being
      the correct type name for the mapped type. The second is an overload of
      insert found in standard containers, taking an iterator as a 'hint'
      (which we ignore in the standard containers as well). libstdc++'s
      implementation includes these overloads, and they are needed to make
      insert_iterator work (which I suspect is the real motivation for
      including them in the standard containers).
      
      The motivation for including these overloads of insert and leaving the
      mapped_type typedef is to make it easier for clients to migrate to the
      standard containers.
      
      llvm-svn: 136538
      fe473ae2
    • Douglas Gregor's avatar
      Teach the ASTImporter to cope with cases where we have already · d451ea9c
      Douglas Gregor authored
      imported a forward declaration, but later the full definition of the
      same entity becomes available. When this happens, import the definition.
      
      llvm-svn: 136537
      d451ea9c
    • Greg Clayton's avatar
      Moved some functionality from ValueObject to ClangASTType. · 92eac7f5
      Greg Clayton authored
      llvm-svn: 136536
      92eac7f5
    • Jakob Stoklund Olesen's avatar
      Check for multiple defs in the machine code verifier. · 9dd18415
      Jakob Stoklund Olesen authored
      llvm-svn: 136535
      9dd18415
    • Owen Anderson's avatar
    • Johnny Chen's avatar
      Add a redo.py script which takes a session directory name as arg and digs into the directory · 4a57d122
      Johnny Chen authored
      to find out the tests which failed/errored and need re-running.  The dotest.py test driver
      script is modified to allow specifying multiple -f testclass.testmethod in the command line
      to accommodate the redo functionality.
      
      An example,
      
       $ ./redo.py -n 2011-07-29-11_50_14
      adding filterspec: TargetAPITestCase.test_find_global_variables_with_dwarf
      adding filterspec: DisasmAPITestCase.test_with_dsym
      Running ./dotest.py -v  -f TargetAPITestCase.test_find_global_variables_with_dwarf -f DisasmAPITestCase.test_with_dsym
      
      ...
      
      ----------------------------------------------------------------------
      Collected 2 tests
      
      1: test_with_dsym (TestDisasmAPI.DisasmAPITestCase)
         Exercise getting SBAddress objects, disassembly, and SBAddress APIs. ... ok
      2: test_find_global_variables_with_dwarf (TestTargetAPI.TargetAPITestCase)
         Exercise SBTarget.FindGlobalVariables() API. ... ok
      
      ----------------------------------------------------------------------
      Ran 2 tests in 15.328s
      
      OK
      
      llvm-svn: 136533
      4a57d122
    • Jakob Stoklund Olesen's avatar
      Add an isSSA() flag to MachineRegisterInfo. · 9760f04e
      Jakob Stoklund Olesen authored
      This flag is true from isel to register allocation when the machine
      function is required to be in SSA form.  The TwoAddressInstructionPass
      and PHIElimination passes clear the flag.
      
      The SSA flag wil be used by the machine code verifier to check for SSA
      form, and eventually an assertion can enforce it in +Asserts builds.
      This will catch the common target error of creating machine code with
      multiple defs of a virtual register.
      
      llvm-svn: 136532
      9760f04e
    • David Greene's avatar
      Unconstify Inits · af8ee2cd
      David Greene authored
      Remove const qualifiers from Init references, per Chris' request.
      
      llvm-svn: 136531
      af8ee2cd
    • Greg Clayton's avatar
      Logging and return code fixes. · 5b442374
      Greg Clayton authored
      llvm-svn: 136530
      5b442374
    • Jakub Staszak's avatar
      Do not lose branch weights when lowering SwitchInst. · 0480a8fb
      Jakub Staszak authored
      llvm-svn: 136529
      0480a8fb
    • Jakob Stoklund Olesen's avatar
      Enable compact region splitting by default. · b5c2d321
      Jakob Stoklund Olesen authored
      This helps generate better code in functions with high register
      pressure.
      
      llvm-svn: 136528
      b5c2d321
  2. Jul 29, 2011
Loading