Displaying 4 results from an estimated 4 matches for "isconvertibleto3addr".
2013 Sep 17
2
[LLVMdev] Codegen performance issue: LEA vs. INC.
...ort 1).
Intel Architecture Code Analyzer (IACA) reports throughput for that assembly block is 12.95 cycles.
I made a short investigation and found that there is a pass in code gen that replaces index increment with lea.
Here is the snippet from llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
if (MI.isConvertibleTo3Addr()) {
// This instruction is potentially convertible to a true
// three-address instruction. Check if it is profitable.
if (!regBKilled || isProfitableToConv3Addr(regA, regB)) {
// Try to convert it.
if (convertInstTo3Addr(mi, nmi, regA, regB, Dist)) {
++NumConvertedTo3Addr;...
2013 Oct 02
0
[LLVMdev] Codegen performance issue: LEA vs. INC.
...eports throughput for that assembly
> block is 12.95 cycles.
>
> I made a short investigation and found that there is a pass in code gen that
> replaces index increment with lea.
>
> Here is the snippet from llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
>
>
>
> if (MI.isConvertibleTo3Addr()) {
>
> // This instruction is potentially convertible to a true
>
> // three-address instruction. Check if it is profitable.
>
> if (!regBKilled || isProfitableToConv3Addr(regA, regB)) {
>
> // Try to convert it.
>
> if (convertInstTo3Addr(mi, nmi, reg...
2013 Oct 03
2
[LLVMdev] Codegen performance issue: LEA vs. INC.
...block is 12.95 cycles.
>>
>> I made a short investigation and found that there is a pass in code gen that
>> replaces index increment with lea.
>>
>> Here is the snippet from llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
>>
>>
>>
>> if (MI.isConvertibleTo3Addr()) {
>>
>> // This instruction is potentially convertible to a true
>>
>> // three-address instruction. Check if it is profitable.
>>
>> if (!regBKilled || isProfitableToConv3Addr(regA, regB)) {
>>
>> // Try to convert it.
>>
>>...
2013 Oct 05
0
[LLVMdev] Codegen performance issue: LEA vs. INC.
...>>> I made a short investigation and found that there is a pass in code gen that
>>> replaces index increment with lea.
>>>
>>> Here is the snippet from llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
>>>
>>>
>>>
>>> if (MI.isConvertibleTo3Addr()) {
>>>
>>> // This instruction is potentially convertible to a true
>>>
>>> // three-address instruction. Check if it is profitable.
>>>
>>> if (!regBKilled || isProfitableToConv3Addr(regA, regB)) {
>>>
>>> // Try to c...