Skip to content
  1. Nov 10, 2008
    • Chris Lattner's avatar
      Fix an over aggressive assumption that struct decls will have a pointer to · bc09b360
      Chris Lattner authored
      an array that is empty.  Instead of requiring this array, allow a null pointer.
      This shrinks all forward references of structs.
      
      llvm-svn: 58959
      bc09b360
    • Chris Lattner's avatar
      add new file · 4978d359
      Chris Lattner authored
      llvm-svn: 58955
      4978d359
    • Chris Lattner's avatar
      Add a new set of helper classes for creating and reading debug · 6d389335
      Chris Lattner authored
      information.  This logically replaces the "Desc" classes in
      MachineModuleInfo.  Nice features of these classes are that they:
      
      1. Are much more efficient than MMI because they don't create a 
         temporary parallel data structure for debug info that has to be
         'serialized' and 'deserialized' into/out of the module.
      2. These provide a much cleaner abstraction for debug info than 
         MMI, which will make it easier to change the implementation in 
         the future (to be MDNode-based).
      3. These are much easier to use than the MMI interfaces, requiring
         a lot less code in the front-ends.
      4. These can be used to both create (for frontends) and read (for
         codegen) debug information.  DebugInfoBuilder can only be used
         to create the nodes.
      
      So far, this is implemented just enough to support the debug info
      generation needs of clang.  This can and should be extended to 
      support the full set of debug info constructs, and we should switch
      llvm-gcc and llc over to using this in the near future.
      
      This code also has a ton of FIXMEs in it, because the way we 
      currently represent debug info in LLVM IR is basically insane in a
      variety of details.  This sort of issue should be fixed when we
      eventually reimplement debug info on top of MDNodes.
      
      llvm-svn: 58954
      6d389335
    • Evan Cheng's avatar
      Forgot these. · 0d9db409
      Evan Cheng authored
      llvm-svn: 58952
      0d9db409
    • Evan Cheng's avatar
      9f3058f3
    • Bill Wendling's avatar
      Correction for the last patch. Should match the conditional in the first part · 4fb13c05
      Bill Wendling authored
      of the select match, not the select instruction itself.
      
      llvm-svn: 58947
      4fb13c05
    • Bill Wendling's avatar
      The method of doing the matching with a 'select' instruction was wrong. The · 15792875
      Bill Wendling authored
      original code was matching like this:
      
      	if (match(A, m_Not(m_Value(B))))
      
      B was already matched as a 'select' instruction. However, this isn't matching
      what we think it's matching. It would match B as a 'Value', so basically
      anything would match to it. In this case, a Constant matched. B was replaced
      with a constant representation. And then the wrong value would be used in the
      SelectInst::Create statement, causing a crash.
      
      After thinking on this for a moment, and after Nick L. told me how the pattern
      matching stuff was supposed to work, the solution was to match NOT an m_Value,
      but an m_Select.
      
      llvm-svn: 58946
      15792875
  2. Nov 09, 2008
  3. Nov 08, 2008
  4. Nov 07, 2008
    • Evan Cheng's avatar
      More code clean up. · ef4d78ba
      Evan Cheng authored
      llvm-svn: 58872
      ef4d78ba
    • Dale Johannesen's avatar
      Make FP tests requiring two compares work on PPC (PR 642). · 160be0ff
      Dale Johannesen authored
      This is Chris' patch from the PR, modified to realize that
      SETUGT/SETULT occur legitimately with integers, plus
      two fixes in LegalizeDAG to pass a valid result type into
      LegalizeSetCC.  The argument of TLI.getSetCCResultType is
      ignored on PPC, but I think I'm following usage elsewhere.
      
      llvm-svn: 58871
      160be0ff
    • Evan Cheng's avatar
      Get PIC jump table working. · 8467e245
      Evan Cheng authored
      llvm-svn: 58869
      8467e245
    • Evan Cheng's avatar
      More debug output. · 077f686d
      Evan Cheng authored
      llvm-svn: 58868
      077f686d
    • Duncan Sands's avatar
      Sign-extend rather than zero-extend when promoting · 2d636b52
      Duncan Sands authored
      the condition for a BRCOND, according to what is
      returned by getSetCCResultContents.  Since all
      targets return the same thing (ZeroOrOneSetCCResult),
      this should be harmless!  The point is that all over
      the place the result of SETCC is fed directly into
      BRCOND.  On machines for which getSetCCResultContents
      returns ZeroOrNegativeOneSetCCResult, this is a
      sign-extended boolean.  So it seems dangerous to
      also feed BRCOND zero-extended booleans in some
      circumstances - for example, when promoting the
      condition.
      
      llvm-svn: 58861
      2d636b52
    • Dan Gohman's avatar
      Flush the raw_ostream after emitting the assembly for a function. · cb0df597
      Dan Gohman authored
      This is a temporary fix for the -print-emitted-asm option, where
      errs() is used as the stream, in the case where other code is
      using stderr without using errs()' buffer. Hopefully soon we'll
      fix errs() to be non-buffered instead. Patch by Preston Gurd.
      
      llvm-svn: 58859
      cb0df597
    • Dale Johannesen's avatar
      Fix unsigned->ppcf128 conversion. · 9016882d
      Dale Johannesen authored
      llvm-svn: 58856
      9016882d
Loading