Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Side by Side Diff: lib/Transforms/NaCl/PromoteIntegers.cpp

Issue 1151093004: Changes from 3.7 merge to files not in upstream (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 //===- PromoteIntegers.cpp - Promote illegal integers for PNaCl ABI -------===// 1 //===- PromoteIntegers.cpp - Promote illegal integers for PNaCl ABI -------===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 // A limited set of transformations to promote illegal-sized int types. 8 // A limited set of transformations to promote illegal-sized int types.
9 // 9 //
10 //===----------------------------------------------------------------------===// 10 //===----------------------------------------------------------------------===//
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 } 708 }
709 } 709 }
710 } else { 710 } else {
711 NewArg.takeName(OldArg); 711 NewArg.takeName(OldArg);
712 OldArg->replaceAllUsesWith(&NewArg); 712 OldArg->replaceAllUsesWith(&NewArg);
713 } 713 }
714 } 714 }
715 715
716 auto Found = DISubprogramMap.find(OldFct); 716 auto Found = DISubprogramMap.find(OldFct);
717 if (Found != DISubprogramMap.end()) 717 if (Found != DISubprogramMap.end())
718 Found->second.replaceFunction(NewFct); 718 Found->second->replaceFunction(NewFct);
719 719
720 return true; 720 return true;
721 } 721 }
722 722
723 bool PromoteIntegers::runOnModule(Module &M) { 723 bool PromoteIntegers::runOnModule(Module &M) {
724 DataLayout DL(&M); 724 DataLayout DL(&M);
725 LLVMContext &Ctx = M.getContext(); 725 LLVMContext &Ctx = M.getContext();
726 bool Modified = false; 726 bool Modified = false;
727 auto DISubprogramMap = makeSubprogramMap(M); 727 auto DISubprogramMap = makeSubprogramMap(M);
728 728
729 // Change function signatures first. 729 // Change function signatures first.
730 for (auto I = M.begin(), E = M.end(); I != E;) { 730 for (auto I = M.begin(), E = M.end(); I != E;) {
731 Function *F = I++; 731 Function *F = I++;
732 bool Changed = ensureCompliantSignature(Ctx, F, M, DISubprogramMap); 732 bool Changed = ensureCompliantSignature(Ctx, F, M, DISubprogramMap);
733 if (Changed) 733 if (Changed)
734 F->eraseFromParent(); 734 F->eraseFromParent();
735 Modified |= Changed; 735 Modified |= Changed;
736 } 736 }
737 737
738 for (auto &F : M.getFunctionList()) 738 for (auto &F : M.getFunctionList())
739 Modified |= processFunction(F, DL); 739 Modified |= processFunction(F, DL);
740 740
741 return Modified; 741 return Modified;
742 } 742 }
743 743
744 ModulePass *llvm::createPromoteIntegersPass() { return new PromoteIntegers(); } 744 ModulePass *llvm::createPromoteIntegersPass() { return new PromoteIntegers(); }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698