Even with -disable-opt we should still internalize and strip if requested.
llvm-svn: 17903
This commit is contained in:
		
							parent
							
								
									2004d90f97
								
							
						
					
					
						commit
						05fe0244e1
					
				| 
						 | 
				
			
			@ -153,7 +153,6 @@ int llvm::GenerateBytecode(Module *M, bool Strip, bool Internalize,
 | 
			
		|||
  // arguments).  This pass merges the two functions.
 | 
			
		||||
  addPass(Passes, createFunctionResolvingPass());
 | 
			
		||||
 | 
			
		||||
  if (!DisableOptimizations) {
 | 
			
		||||
  if (Internalize) {
 | 
			
		||||
    // Now that composite has been compiled, scan through the module, looking
 | 
			
		||||
    // for a main function.  If main is defined, mark all other functions
 | 
			
		||||
| 
						 | 
				
			
			@ -161,6 +160,7 @@ int llvm::GenerateBytecode(Module *M, bool Strip, bool Internalize,
 | 
			
		|||
    addPass(Passes, createInternalizePass());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!DisableOptimizations) {
 | 
			
		||||
    // Now that we internalized some globals, see if we can hack on them!
 | 
			
		||||
    addPass(Passes, createGlobalOptimizerPass());
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -168,12 +168,6 @@ int llvm::GenerateBytecode(Module *M, bool Strip, bool Internalize,
 | 
			
		|||
    // keep one copy of each constant...
 | 
			
		||||
    addPass(Passes, createConstantMergePass());
 | 
			
		||||
 | 
			
		||||
    // If the -s command line option was specified, strip the symbols out of the
 | 
			
		||||
    // resulting program to make it smaller.  -s is a GCC option that we are
 | 
			
		||||
    // supporting.
 | 
			
		||||
    if (Strip)
 | 
			
		||||
      addPass(Passes, createSymbolStrippingPass());
 | 
			
		||||
 | 
			
		||||
    // Propagate constants at call sites into the functions they call.
 | 
			
		||||
    addPass(Passes, createIPConstantPropagationPass());
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -214,6 +208,12 @@ int llvm::GenerateBytecode(Module *M, bool Strip, bool Internalize,
 | 
			
		|||
    addPass(Passes, createGlobalDCEPass());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // If the -s command line option was specified, strip the symbols out of the
 | 
			
		||||
  // resulting program to make it smaller.  -s is a GCC option that we are
 | 
			
		||||
  // supporting.
 | 
			
		||||
  if (Strip)
 | 
			
		||||
    addPass(Passes, createSymbolStrippingPass());
 | 
			
		||||
 | 
			
		||||
  // Make sure everything is still good.
 | 
			
		||||
  Passes.add(createVerifierPass());
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue