This is the patch that lowers x86 intrinsics to native IR
in order to enable optimizations.
Corresponding llvm part: https://reviews.llvm.org/D44785
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/CodeGen/CGBuiltin.cpp | ||
---|---|---|
7897 ↗ | (On Diff #139456) | Can we just create the constant in the extended type? |
7910 ↗ | (On Diff #139456) | ConstantInt::get should be able to splat on its own if you give it a vector type. Same with getAllOnesValue above |
8922 ↗ | (On Diff #139456) | Substraction->Subtraction |
8929 ↗ | (On Diff #139456) | Substraction->Subtraction |
lib/CodeGen/CGBuiltin.cpp | ||
---|---|---|
7897 ↗ | (On Diff #139456) | We can't - SignedMaxValue is created in non-extended type and llvm::ConstantInt::get makes an assertion that the input is of the same type. We can perform sext() on SignedMaxValue but the result will be the same. |
Comment Actions
LGTM with that one comment.
lib/CodeGen/CGBuiltin.cpp | ||
---|---|---|
8288 ↗ | (On Diff #140244) | You could probably just do ResultType->getScalarSizeInBits() == 8 |