Skip to content
  1. Jun 08, 2013
    • Shuxin Yang's avatar
      Fix an assertion in MemCpyOpt pass. · bd254f26
      Shuxin Yang authored
        The MemCpyOpt pass is capable of optimizing:
            callee(&S); copy N bytes from S to D.
          into:
            callee(&D);
      subject to some legality constraints. 
      
        Assertion is triggered when the compiler tries to evalute "sizeof(typeof(D))",
      while D is an opaque-typed, 'sret' formal argument of function being compiled.
      i.e. the signature of the func being compiled is something like this:
        T caller(...,%opaque* noalias nocapture sret %D, ...)
      
        The fix is that when come across such situation, instead of calling some
      utility functions to get the size of D's type (which will crash), we simply
      assume D has at least N bytes as implified by the copy-instruction.
      
      rdar://14073661 
      
      llvm-svn: 183584
      bd254f26
    • Hal Finkel's avatar
      Disallow i64 div/rem in PPC32 counter loops · fa5f6f74
      Hal Finkel authored
      On PPC32, [su]div,rem on i64 types are transformed into runtime library
      function calls. As a result, they are not allowed in counter-based loops (the
      counter-loops verification pass caught this error; this change fixes PR16169).
      
      llvm-svn: 183581
      fa5f6f74
    • Quentin Colombet's avatar
      Revert commits related to stack warning. · bd5a201c
      Quentin Colombet authored
      llvm-svn: 183579
      bd5a201c
  2. Jun 07, 2013
Loading