Skip to content
  1. Jun 26, 2009
  2. May 15, 2009
  3. May 14, 2009
  4. May 13, 2009
  5. May 12, 2009
  6. May 11, 2009
    • Bill Wendling's avatar
      This is a large rewrite of how Dwarf info for inlined functions is handled. · 59b1ca2a
      Bill Wendling authored
      The DwarfWriter expects DbgScopes and DIEs to behave themselves according to
      DwarfWriter's rules. However, inlined functions violate these rules. There are
      two different types of DIEs associated with an inlined function: an abstract
      instance, which has information about the original source code for the function
      being inlined; and concrete instances, which are created for each place the
      function was inlined and point back to the abstract instance.
      
      This patch tries to stay true to this schema. It bypasses how regular DbgScopes
      and DIEs are created and used when necessary. It provides special handling for
      DIEs of abstract and concrete instances.
      
      This doesn't take care of all of the problems with debug info for inlined
      functions, but it's a step in the right direction. For one thing, llvm-gcc
      generates wrong IR (it's missing some llvm.dbg intrinsics at the point where the
      function's inlined) for this example:
      
      #include <stdio.h>
      static __inline__ __attribute__((always_inline))  int bar(int x) { return 4; }
      void foo() {
        long long b = 1;
        int Y = bar(4);
        printf("%d\n", Y);
      }
      
      while clang generates correct IR.
      
      llvm-svn: 71410
      59b1ca2a
  7. May 08, 2009
  8. May 07, 2009
    • Dan Gohman's avatar
      Revert 71165. It did more than just revert 71158 and it introduced · 4bb6fa23
      Dan Gohman authored
      several regressions. The problem due to 71158 is now fixed.
      
      llvm-svn: 71176
      4bb6fa23
    • Bill Wendling's avatar
      Temporarily revert r71158. It was causing a failure during a full bootstrap: · 17f0f654
      Bill Wendling authored
      checking for bcopy... no
      checking for getc_unlocked... Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511.
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decUtility.c:360: internal compiler error: Abort trap
      Please submit a full bug report,
      with preprocessed source if appropriate.
      See <URL:http://developer.apple.com/bugreporter> for instructions.
      make[4]: *** [decUtility.o] Error 1
      make[4]: *** Waiting for unfinished jobs....
      Assertion failed: (0 && "Unknown SCEV kind!"), function operator(), file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore.roots/llvmCore~obj/src/lib/Analysis/ScalarEvolution.cpp, line 511.
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/libdecnumber/decNumber.c:5591: internal compiler error: Abort trap
      Please submit a full bug report,
      with preprocessed source if appropriate.
      See <URL:http://developer.apple.com/bugreporter> for instructions.
      make[4]: *** [decNumber.o] Error 1
      make[3]: *** [all-stage2-libdecnumber] Error 2
      make[3]: *** Waiting for unfinished jobs....
      
      llvm-svn: 71165
      17f0f654
    • Argyrios Kyrtzidis's avatar
      Make DwarfWriter::RecordInlinedFnStart more like the other DwarfWriter's methods: · baf3fee8
      Argyrios Kyrtzidis authored
      -Have it return a label ID
      -Remove the unused Instruction parameter
      
      No functionality change.
      
      llvm-svn: 71132
      baf3fee8
  9. May 06, 2009
  10. May 05, 2009
  11. May 04, 2009
  12. May 03, 2009
  13. May 01, 2009
  14. Apr 30, 2009
  15. Apr 29, 2009
    • Bill Wendling's avatar
      Second attempt: · 084669a1
      Bill Wendling authored
      Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
      use the old behavior, the flag is -O0. This change allows for finer-grained
      control over which optimizations are run at different -O levels.
      
      Most of this work was pretty mechanical. The majority of the fixes came from
      verifying that a "fast" variable wasn't used anymore. The JIT still uses a
      "Fast" flag. I'll change the JIT with a follow-up patch.
      
      llvm-svn: 70343
      084669a1
  16. Apr 28, 2009
  17. Apr 21, 2009
  18. Apr 15, 2009
  19. Apr 13, 2009
  20. Apr 11, 2009
  21. Apr 10, 2009
Loading