1. 27 Jul, 2022 6 commits
  2. 25 Jul, 2022 10 commits
  3. 24 Jul, 2022 6 commits
  4. 23 Jul, 2022 1 commit
  5. 22 Jul, 2022 1 commit
    • 萝杨空队-梁韬's avatar
      ir-simple-opt: 函数内联优化调试完成 · afffec1b
      萝杨空队-梁韬 authored
      1. 对函数内联产生的基本块添加随机字符串前缀以防止对同一函数的多次内联使得基本块撞名
      2. 明确了函数内联的条件: 目前只将简单函数内联 (即在任意次函数内联之后不调用任何其他函数的函数)
      3. 修复了 callerBlock 的指令在移除后 phiEnd 不正确的问题
      4. 修复了在修复原块后继的前继时, 错误地向新块获取前继而不是旧块的问题
      5. 修复了在替换旧 Call 指令时, phi 会被替换到旧基本块中的问题
      6. 修复了新加入的辅助块的 phiEnd 不正确的问题
      7. 修复了在 clone 引用自身的 phi 指令时的无限递归错误
      8. 取消了在设置前继时, 对 phi 的对应位置的 incoming value 必须来自该前继的错误约束
      9. 于 IList 中加入了 indexOf 方法
      10. 于 INodeOwner 中加入了从当前列表脱离的方法
      11. 将 IR Pass 的运行方式改为使用 Runner 的硬编码形式以支持更好的异常堆栈显示
      12. 于 LLVMDumper 中加入了对 CurrDef 为空的基本块的支持 (在因为内联而被 clone 的块中可能有此现象)
      13. 于 phi 指令中加入了不检查前继数量直接替换 incomingValue 的方法以方便新基本块的构造
      afffec1b
  6. 21 Jul, 2022 5 commits
  7. 20 Jul, 2022 10 commits
  8. 19 Jul, 2022 1 commit
    • 萝杨空队-梁韬's avatar
      debug/llvm-run: 通过了全部样例, 前端完成 · ef940cbd
      萝杨空队-梁韬 authored
      1. 在 log 中增加 finalInfo 的输出, 便于调试
      2. 在 phi 指令中引入单独的一个 symbol, 使得其不会在用于赋值其他变量的时候把自己代表的变量符号覆盖掉
      3. 在变量定义的时候引入可能的隐式转换
      4. 在 LLVM IR 的注释中写上 phi 代表的变量
      5. 更改 ./m 中的 run 子命令使得传递给编译器的参数合理
      6. 修改浮点字面量的词法规则, 使之可以匹配 1e9 之类的 token
      ef940cbd