Skip to content
  1. Apr 29, 2019
  2. Aug 31, 2015
  3. Feb 27, 2015
    • David Blaikie's avatar
      [opaque pointer type] Add textual IR support for explicit type parameter to load instruction · a79ac14f
      David Blaikie authored
      Essentially the same as the GEP change in r230786.
      
      A similar migration script can be used to update test cases, though a few more
      test case improvements/changes were required this time around: (r229269-r229278)
      
      import fileinput
      import sys
      import re
      
      pat = re.compile(r"((?:=|:|^)\s*load (?:atomic )?(?:volatile )?(.*?))(| addrspace\(\d+\) *)\*($| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$)")
      
      for line in sys.stdin:
        sys.stdout.write(re.sub(pat, r"\1, \2\3*\4", line))
      
      Reviewers: rafael, dexonsmith, grosser
      
      Differential Revision: http://reviews.llvm.org/D7649
      
      llvm-svn: 230794
      a79ac14f
  4. Dec 04, 2014
    • Jon Roelofs's avatar
      Fix thumbv4t indirect calls · 300d8ffd
      Jon Roelofs authored
      So there are a couple of issues with indirect calls on thumbv4t. First, the most
      'obvious' instruction, 'blx' isn't available until v5t. And secondly, the
      next-most-obvious sequence: 'mov lr, pc; bx rN' doesn't DTRT in thumb code
      because the saved off pc has its thumb bit cleared, so when the callee returns
      we end up in ARM mode.... yuck.
      
      The solution is to 'bl' to a nearby landing pad with a 'bx rN' in it.
      
      We could cut down on code size by sharing the landing pads between call sites
      that are close enough, but for the moment let's do correctness first and look at
      performance later.
      
      
      Patch by: Iain Sandoe
      
      http://reviews.llvm.org/D6519
      
      llvm-svn: 223380
      300d8ffd
Loading