Skip to content
  • David Blaikie's avatar
    [opaque pointer type] Add textual IR support for explicit type parameter to gep operator · f72d05bc
    David Blaikie authored
    Similar to gep (r230786) and load (r230794) changes.
    
    Similar migration script can be used to update test cases, which
    successfully migrated all of LLVM and Polly, but about 4 test cases
    needed manually changes in Clang.
    
    (this script will read the contents of stdin and massage it into stdout
    - wrap it in the 'apply.sh' script shown in previous commits + xargs to
    apply it over a large set of test cases)
    
    import fileinput
    import sys
    import re
    
    rep = re.compile(r"(getelementptr(?:\s+inbounds)?\s*\()((<\d*\s+x\s+)?([^@]*?)(|\s*addrspace\(\d+\))\s*\*(?(3)>)\s*)(?=$|%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|zeroinitializer|<|\[\[[a-zA-Z]|\{\{)", re.MULTILINE | re.DOTALL)
    
    def conv(match):
      line = match.group(1)
      line += match.group(4)
      line += ", "
      line += match.group(2)
      return line
    
    line = sys.stdin.read()
    off = 0
    for match in re.finditer(rep, line):
      sys.stdout.write(line[off:match.start()])
      sys.stdout.write(conv(match))
      off = match.end()
    sys.stdout.write(line[off:])
    
    llvm-svn: 232184
    f72d05bc
Loading