Pei Mu
Pei Mu
Hi @stellaraccident @silvasean @cathyzhyi and other contributors, I'm not sure if it is appropriate to give a PR like this. I've implemented a very basic demo for the if-control-flow. I'm...
我之前对template这部分内容了解不多,这份教程对我帮助很大! 但是在3.2章里面有两个地方没有搞明白,希望能得到一些指点。 ### 第一个问题: > 但是问题到了这里并没有结束。因为 increase 毕竟是个虚函数。假如 Counter 需要调用的地方实在是太多了,这个时候我们会非常期望 increase 不再是个虚函数以提高性能。此时我们会调整继承层级: ``` struct ICounter {}; struct Counter: public ICounter { void increase() { // impl } }; template void...
Address #647 Check out #646
Address #653 Checkout #648
The clang keyword `__builtin_assume` seems to have the same feature as the range analysis. So it's worth checking the impact of this keyword, including the performance, and programmability.
With the micro-benchmarks, we have 116 errors. [type_compression_errors.log](https://github.com/phillipstanleymarbell/Noisy-lang-compiler/files/11088168/type_compression_errors.log)
After we shrinkage the type of instructions, we need to further update the flag or change to the correct instruction.
It might be interesting to use the smart pointer to manage memory, especially in `newton-irPass-LLVMIR-optimizeByRange.cpp` and `newton-irPass-LLVMIR-rangeAnalysis.cpp`