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

Side by Side Diff: include/llvm/Transforms/NaCl.h

Issue 15688011: PNaCl: Extend ExpandMulWithOverflow pass to handle uadd.with.overflow too (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Created 7 years, 6 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 //===-- NaCl.h - NaCl Transformations ---------------------------*- C++ -*-===// 1 //===-- NaCl.h - NaCl Transformations ---------------------------*- C++ -*-===//
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 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 9
10 #ifndef LLVM_TRANSFORMS_NACL_H 10 #ifndef LLVM_TRANSFORMS_NACL_H
11 #define LLVM_TRANSFORMS_NACL_H 11 #define LLVM_TRANSFORMS_NACL_H
12 12
13 namespace llvm { 13 namespace llvm {
14 14
15 class BasicBlockPass; 15 class BasicBlockPass;
16 class FunctionPass; 16 class FunctionPass;
17 class Instruction; 17 class Instruction;
18 class ModulePass; 18 class ModulePass;
19 class PassManager; 19 class PassManager;
20 class Use; 20 class Use;
21 class Value; 21 class Value;
22 22
23 ModulePass *createExpandArithWithOverflowPass();
23 ModulePass *createExpandByValPass(); 24 ModulePass *createExpandByValPass();
24 FunctionPass *createExpandConstantExprPass(); 25 FunctionPass *createExpandConstantExprPass();
25 ModulePass *createExpandCtorsPass(); 26 ModulePass *createExpandCtorsPass();
26 BasicBlockPass *createExpandGetElementPtrPass(); 27 BasicBlockPass *createExpandGetElementPtrPass();
27 ModulePass *createExpandMulWithOverflowPass();
28 ModulePass *createExpandTlsPass(); 28 ModulePass *createExpandTlsPass();
29 ModulePass *createExpandTlsConstantExprPass(); 29 ModulePass *createExpandTlsConstantExprPass();
30 ModulePass *createExpandVarArgsPass(); 30 ModulePass *createExpandVarArgsPass();
31 ModulePass *createFlattenGlobalsPass(); 31 ModulePass *createFlattenGlobalsPass();
32 ModulePass *createGlobalCleanupPass(); 32 ModulePass *createGlobalCleanupPass();
33 FunctionPass *createPromoteIntegersPass(); 33 FunctionPass *createPromoteIntegersPass();
34 ModulePass *createReplacePtrsWithIntsPass(); 34 ModulePass *createReplacePtrsWithIntsPass();
35 ModulePass *createResolveAliasesPass(); 35 ModulePass *createResolveAliasesPass();
36 ModulePass *createRewritePNaClLibraryCallsPass(); 36 ModulePass *createRewritePNaClLibraryCallsPass();
37 ModulePass *createStripMetadataPass(); 37 ModulePass *createStripMetadataPass();
38 FunctionPass *createInsertDivideCheckPass(); 38 FunctionPass *createInsertDivideCheckPass();
39 39
40 void PNaClABISimplifyAddPreOptPasses(PassManager &PM); 40 void PNaClABISimplifyAddPreOptPasses(PassManager &PM);
41 void PNaClABISimplifyAddPostOptPasses(PassManager &PM); 41 void PNaClABISimplifyAddPostOptPasses(PassManager &PM);
42 42
43 Instruction *PhiSafeInsertPt(Use *U); 43 Instruction *PhiSafeInsertPt(Use *U);
44 void PhiSafeReplaceUses(Use *U, Value *NewVal); 44 void PhiSafeReplaceUses(Use *U, Value *NewVal);
45 45
46 // Copy debug information from Original to NewInst, and return NewInst. 46 // Copy debug information from Original to NewInst, and return NewInst.
47 Instruction *CopyDebug(Instruction *NewInst, Instruction *Original); 47 Instruction *CopyDebug(Instruction *NewInst, Instruction *Original);
48 48
49 } 49 }
50 50
51 #endif 51 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698