[cfe-dev] [LLVMdev] conditional operator

Jochen Wilhelmy j.wilhelmy at arcor.de
Fri Jul 23 07:36:21 PDT 2010


> It normally gets optimized... can you attach a testcase?
>    
This is my testcase:

float a;
float b;
float x;
extern "C" void main()
{
     x = a > b ? a : b;
}


This are my optimizations:
     llvm::PassManager passManager;
     passManager.add(new llvm::TargetData(targetDescription));
     passManager.add(llvm::createFunctionInliningPass(2000));
     passManager.add(llvm::createScalarReplAggregatesPass(1000000));
     passManager.add(llvm::createInstructionCombiningPass());
     passManager.add(llvm::createDeadInstEliminationPass());
     passManager.add(llvm::createDeadStoreEliminationPass());
     passManager.add(llvm::createDeadTypeEliminationPass());

This my language options
     langOptions.Bool = 1;
     langOptions.CPlusPlus = 1;
     langOptions.RTTI = 0;
     langOptions.AltiVec = 1;
     langOptions.Freestanding = 1;

-Jochen




More information about the cfe-dev mailing list