Skip to content
  1. Sep 11, 2013
  2. Sep 10, 2013
    • Eric Christopher's avatar
      Hoist section call out of loop. · 13b99d2a
      Eric Christopher authored
      llvm-svn: 190440
      13b99d2a
    • Matt Arsenault's avatar
      Teach ScalarEvolution about pointer address spaces · a90a18e0
      Matt Arsenault authored
      llvm-svn: 190425
      a90a18e0
    • Matt Arsenault's avatar
      Fix typo · 305a2255
      Matt Arsenault authored
      llvm-svn: 190424
      305a2255
    • Rui Ueyama's avatar
      Add getenv() wrapper that works on multibyte environment variable. · 471d0c57
      Rui Ueyama authored
      On Windows, character encoding of multibyte environment variable varies
      depending on settings. The only reliable way to handle it I think is to use
      GetEnvironmentVariableW().
      
      GetEnvironmentVariableW() works on wchar_t string, which is on Windows UTF16
      string. That's not ideal because we use UTF-8 as the internal encoding in LLVM.
      This patch defines a wrapper function which takes and returns UTF-8 string for
      GetEnvironmentVariableW().
      
      The wrapper function does not do any conversion and just forwards the argument
      to getenv() on Unix.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D1612
      
      llvm-svn: 190423
      471d0c57
    • Benjamin Kramer's avatar
    • Manman Ren's avatar
      Debug Info: create scope children DIEs when the scope DIE is not null. · 2312ed35
      Manman Ren authored
      We try to create the scope children DIEs after we create the scope DIE. But
      to avoid emitting empty lexical block DIE, we first check whether a scope
      DIE is going to be null, then create the scope children if it is not null.
      From the number of children, we decide whether to actually create the scope DIE.
      
      This patch also removes an early exit which checks for a special condition.
      It also removes deletion of un-used children DIEs that are generated
      because we used to generate children DIEs before the scope DIE.
      
      Deletion of un-used children DIEs may cause problem because we sometimes keep
      created DIEs in a member variable of a CU.
      
      llvm-svn: 190421
      2312ed35
    • Manman Ren's avatar
      Debug Info: define a DIRef template. · 34b3dcc3
      Manman Ren authored
      Specialize the constructors for DIRef<DIScope> and DIRef<DIType> to make sure
      the Value is indeed a scope ref and a type ref.
      
      Use DIScopeRef for DIScope::getContext and DIType::getContext and use DITypeRef
      for getContainingType and getClassType.
      
      DIScope::generateRef now returns a DIScopeRef instead of a "Value *" for
      readability and type safety.
      
      llvm-svn: 190418
      34b3dcc3
    • Jim Grosbach's avatar
      ARM: Use the PICADD opcode calculated. · 19ae779a
      Jim Grosbach authored
      We were figuring out whether to use tPICADD or PICADD, then just using
      tPICADD unconditionally anyway. Oops.
      
      A testcase from someone familiar enough with ELF to produce one would
      be appreciated. The existing PIC testcase correctly verifies the .s
      generated, but that doesn't catch this bug, which only showed up in
      direct-to-object mode.
      
      http://llvm.org/bugs/show_bug.cgi?id=17180
      
      llvm-svn: 190417
      19ae779a
    • Logan Chien's avatar
      Remove unused private member in ARMAsmPrinter.cpp. · d532cb6b
      Logan Chien authored
      This commit removes the unused "AttributeItem" from
      ObjectAttributeEmitter.
      
      llvm-svn: 190412
      d532cb6b
    • Kostya Serebryany's avatar
      [asan] refactor the use-after-return API so that the size class is computed at... · 6805de54
      Kostya Serebryany authored
      [asan] refactor the use-after-return API so that the size class is computed at compile time instead of at run-time. llvm part
      
      llvm-svn: 190407
      6805de54
    • Richard Sandiford's avatar
      [SystemZ] Update README. · 0e0498b2
      Richard Sandiford authored
      llvm-svn: 190404
      0e0498b2
    • Richard Sandiford's avatar
      [SystemZ] Add TM and TMY · a9eb9972
      Richard Sandiford authored
      The main complication here is that TM and TMY (the memory forms) set
      CC differently from the register forms.  When the tested bits contain
      some 0s and some 1s, the register forms set CC to 1 or 2 based on the
      value the uppermost bit.  The memory forms instead set CC to 1
      regardless of the uppermost bit.
      
      Until now, I've tried to make it so that a branch never tests for an
      impossible CC value.  E.g. NR only sets CC to 0 or 1, so branches on the
      result will only test for 0 or 1.  Originally I'd tried to do the same
      thing for TM and TMY by using custom matching code in ISelDAGToDAG.
      That ended up being very ugly though, and would have meant duplicating
      some of the chain checks that the common isel code does.
      
      I've therefore gone for the simpler alternative of adding an extra
      operand to the TM DAG opcode to say whether a memory form would be OK.
      This means that the inverse of a "TM;JE" is "TM;JNE" rather than the
      more precise "TM;JNLE", just like the inverse of "TMLL;JE" is "TMLL;JNE".
      I suppose that's arguably less confusing though...
      
      llvm-svn: 190400
      a9eb9972
Loading