llvm-project
e80f32fd - [CodeGenPrepare] Use Instruction::comesBefore instead of manual ordering (#190485)

Commit
6 days ago
[CodeGenPrepare] Use Instruction::comesBefore instead of manual ordering (#190485) After #172329, we noticed that some sources compiled with MSan take 1000x longer to compile. This is caused by quadratic complexity in tryToSinkFreeOperands, which can be called on a significant number of instructions within huge basic blocks. This inefficiency was introduced in 9cfa9b4, which manually iterates and creates a DenseMap of entire basic blocks for each interesting instruction. This patch avoids the manual ordering by using Instruction::comesBefore(), which provides the exact same ordering much more efficiently.
Author
Parents
Loading