search for: isconvertibleto3addr

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. >> >&gt...
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...