Skip to content
  1. Sep 21, 2010
    • Chris Lattner's avatar
      random cruft in my tree. · 191efcfc
      Chris Lattner authored
      llvm-svn: 114387
      191efcfc
    • Chris Lattner's avatar
      fix rdar://8453210, a crash handling a call through a GS relative load. · bb0a1c44
      Chris Lattner authored
      For now, just disable folding the load into the call.
      
      llvm-svn: 114386
      bb0a1c44
    • Bill Wendling's avatar
      Add a comment explaining why the MMX builtins are segregated and what we plan on · 7108ece0
      Bill Wendling authored
      doing with them. It's a "FIXME" right now because this change hasn't been
      implemented yet.
      
      llvm-svn: 114385
      7108ece0
    • Sean Callanan's avatar
      Removed the hacky "#define this ___clang_this" handler · fc55f5d1
      Sean Callanan authored
      for C++ classes.  Replaced it with a less hacky approach:
      
       - If an expression is defined in the context of a
         method of class A, then that expression is wrapped as
         ___clang_class::___clang_expr(void*) { ... }
         instead of ___clang_expr(void*) { ... }.
      
       - ___clang_class is resolved as the type of the target
         of the "this" pointer in the method the expression
         is defined in.
      
       - When reporting the type of ___clang_class, a method
         with the signature ___clang_expr(void*) is added to
         that class, so that Clang doesn't complain about a
         method being defined without a corresponding
         declaration.
      
       - Whenever the expression gets called, "this" gets
         looked up, type-checked, and then passed in as the
         first argument.
      
      This required the following changes:
      
       - The ABIs were changed to support passing of the "this"
         pointer as part of trivial calls.
      
       - ThreadPlanCallFunction and ClangFunction were changed
         to support passing of an optional "this" pointer.
      
       - ClangUserExpression was extended to perform the
         wrapping described above.
      
       - ClangASTSource was changed to revert the changes
         required by the hack.
      
       - ClangExpressionParser, IRForTarget, and
         ClangExpressionDeclMap were changed to handle
         different manglings of ___clang_expr flexibly.  This
         meant no longer searching for a function called
         ___clang_expr, but rather looking for a function whose
         name *contains* ___clang_expr.
      
       - ClangExpressionParser and ClangExpressionDeclMap now
         remember whether "this" is required, and know how to
         look it up as necessary.
      
      A few inheritance bugs remain, and I'm trying to resolve
      these.  But it is now possible to use "this" as well as
      refer implicitly to member variables, when in the proper
      context.
      
      llvm-svn: 114384
      fc55f5d1
    • Rafael Espindola's avatar
    • Rafael Espindola's avatar
      f0591c16
    • Johnny Chen's avatar
      Changed the order of two assignment stmts. · 958da040
      Johnny Chen authored
      llvm-svn: 114381
      958da040
    • Johnny Chen's avatar
      Added the capability to source the configFile specified via the "-c" option in · 209cdbef
      Johnny Chen authored
      order to customize the running of the test suite.  For the time being, the
      supported customizations are:
      
      o redirecting stdout and/or stderr
      o specifying a list of compilers to build the test programs
      o specifying a list of architectures to build the test programs for
      
      Also checked into the examples/test directory some example files which
      demonstrate the usage for the above customizations.
      
      $ ./dotest.py -v -c ~/.lldbtest-config persistent_variables
      $ cat ~/.lldbtest-config
      sys.stderr = open("/tmp/lldbtest-stderr", "w")
      sys.stdout = open("/tmp/lldbtest-stdout", "w")
      compilers = ["gcc", "llvm-gcc"]
      archs = ["x86_64", "i386"]
      $ cat /tmp/lldbtest-stderr
      ----------------------------------------------------------------------
      Collected 1 test
      
      
      Configuration: arch=x86_64 compiler=gcc
      test_persistent_variables (TestPersistentVariables.PersistentVariablesTestCase)
      Test that lldb persistent variables works correctly. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 1.397s
      
      OK
      
      Configuration: arch=x86_64 compiler=llvm-gcc
      test_persistent_variables (TestPersistentVariables.PersistentVariablesTestCase)
      Test that lldb persistent variables works correctly. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 1.282s
      
      OK
      
      Configuration: arch=i386 compiler=gcc
      test_persistent_variables (TestPersistentVariables.PersistentVariablesTestCase)
      Test that lldb persistent variables works correctly. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 1.297s
      
      OK
      
      Configuration: arch=i386 compiler=llvm-gcc
      test_persistent_variables (TestPersistentVariables.PersistentVariablesTestCase)
      Test that lldb persistent variables works correctly. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 1.269s
      
      OK
      $ cat /tmp/lldbtest-stdout
      $ 
      
      llvm-svn: 114380
      209cdbef
    • Douglas Gregor's avatar
      When providing code completions for an argument in an Objective-C · 7466127a
      Douglas Gregor authored
      message send, e.g.,
      
        [[NSString alloc] initWithCString:<CC>
      
      look up all of the possible methods and determine the preferred type
      for the argument expression based on the type of the corresponding
      parameter.
      
      llvm-svn: 114379
      7466127a
    • Johnny Chen's avatar
      Changed this breakpoint callback function to print to the stdout instead of · dba0a0fb
      Johnny Chen authored
      stderr so as not to disrupt the information emitted by the unittest framework.
      
      llvm-svn: 114377
      dba0a0fb
    • Fariborz Jahanian's avatar
      Implements in IRgen gnu extensions missing LHS for · 8162d4ad
      Fariborz Jahanian authored
      complex conditionals. Radar 8453812.
      
      llvm-svn: 114376
      8162d4ad
    • Douglas Gregor's avatar
      Refactor code completion for expressions that occur as arguments in · f86e4da7
      Douglas Gregor authored
      Objective-C message sends. There is no functionality change here; this
      is prep work for using the parameter types to help guide the
      expression results when code-completing the argument.
      
      llvm-svn: 114375
      f86e4da7
    • Douglas Gregor's avatar
      Code completion has no reason to prefer values over types, especially · 5fb901de
      Douglas Gregor authored
      at the statement level or in Objective-C message receivers. Therefore,
      just give types and declarations the same basic priority, and adjust
      from there.
      
      llvm-svn: 114374
      5fb901de
    • Evan Cheng's avatar
      Enable machine sinking critical edge splitting. e.g. · f3e9a485
      Evan Cheng authored
      define double @foo(double %x, double %y, i1 %c) nounwind {
        %a = fdiv double %x, 3.2
        %z = select i1 %c, double %a, double %y
        ret double %z
      }
      
      Was:
      _foo:
              divsd   LCPI0_0(%rip), %xmm0
              testb   $1, %dil
              jne     LBB0_2
              movaps  %xmm1, %xmm0
      LBB0_2:
              ret
      
      Now:
      _foo:
              testb   $1, %dil
              je      LBB0_2
              divsd   LCPI0_0(%rip), %xmm0
              ret
      LBB0_2:
              movaps  %xmm1, %xmm0
              ret
      
      This avoids the divsd when early exit is taken.
      rdar://8454886
      
      llvm-svn: 114372
      f3e9a485
    • Nate Begeman's avatar
      Check in support for OpenCL conditional operator on vector types. · abb5a737
      Nate Begeman authored
      llvm-svn: 114371
      abb5a737
    • Douglas Gregor's avatar
      Slight refactoring in code-completion results generation, placing the · 50832e02
      Douglas Gregor authored
      various priority adjustments for preferences (based on selectors,
      types) in a single function to make extension easier.
      
      llvm-svn: 114370
      50832e02
    • Dan Gohman's avatar
      Relax this check to silently swallow FE_INEXACT, following directions · 497b3cea
      Dan Gohman authored
      from rdar://8452472. This unbreaks gcc.dg/builtins-17.c.
      
      llvm-svn: 114368
      497b3cea
  2. Sep 20, 2010
Loading