Skip to content

Commit

Permalink
[PowerPC] Expand ISEL instruction into if-then-else sequence.
Browse files Browse the repository at this point in the history
Generally, the ISEL is expanded into if-then-else sequence, in some
cases (like when the destination register is the same with the true
or false value register), it may just be expanded into just the if
or else sequence.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292128 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
Tony Jiang committed Jan 16, 2017
1 parent 3157d2b commit 541103a
Show file tree
Hide file tree
Showing 32 changed files with 1,507 additions and 39 deletions.
1 change: 1 addition & 0 deletions lib/Target/PowerPC/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ add_llvm_target(PowerPCCodeGen
PPCVSXCopy.cpp
PPCVSXFMAMutate.cpp
PPCVSXSwapRemoval.cpp
PPCExpandISEL.cpp
)

add_subdirectory(AsmParser)
Expand Down
2 changes: 2 additions & 0 deletions lib/Target/PowerPC/PPC.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,13 @@ namespace llvm {
FunctionPass *createPPCISelDag(PPCTargetMachine &TM);
FunctionPass *createPPCTLSDynamicCallPass();
FunctionPass *createPPCBoolRetToIntPass();
FunctionPass *createPPCExpandISELPass();
void LowerPPCMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
AsmPrinter &AP, bool isDarwin);

void initializePPCVSXFMAMutatePass(PassRegistry&);
void initializePPCBoolRetToIntPass(PassRegistry&);
void initializePPCExpandISELPass(PassRegistry &);
extern char &PPCVSXFMAMutateID;

namespace PPCII {
Expand Down
Loading

0 comments on commit 541103a

Please sign in to comment.