Lines Matching full:value
23 class Value;
51 /// optimal value to replace the instruction with or 0 if a more
54 Value *optimizeCall(CallInst *CI, IRBuilderBase &B);
57 Value *optimizeMemCpyChk(CallInst *CI, IRBuilderBase &B);
58 Value *optimizeMemMoveChk(CallInst *CI, IRBuilderBase &B);
59 Value *optimizeMemSetChk(CallInst *CI, IRBuilderBase &B);
62 Value *optimizeStrpCpyChk(CallInst *CI, IRBuilderBase &B, LibFunc Func);
63 Value *optimizeStrpNCpyChk(CallInst *CI, IRBuilderBase &B, LibFunc Func);
64 Value *optimizeStrLenChk(CallInst *CI, IRBuilderBase &B);
65 Value *optimizeMemPCpyChk(CallInst *CI, IRBuilderBase &B);
66 Value *optimizeMemCCpyChk(CallInst *CI, IRBuilderBase &B);
67 Value *optimizeSNPrintfChk(CallInst *CI, IRBuilderBase &B);
68 Value *optimizeSPrintfChk(CallInst *CI,IRBuilderBase &B);
69 Value *optimizeStrCatChk(CallInst *CI, IRBuilderBase &B);
70 Value *optimizeStrLCat(CallInst *CI, IRBuilderBase &B);
71 Value *optimizeStrNCatChk(CallInst *CI, IRBuilderBase &B);
72 Value *optimizeStrLCpyChk(CallInst *CI, IRBuilderBase &B);
73 Value *optimizeVSNPrintfChk(CallInst *CI, IRBuilderBase &B);
74 Value *optimizeVSPrintfChk(CallInst *CI, IRBuilderBase &B);
115 function_ref<void(Instruction *, Value *)> Replacer;
122 static void replaceAllUsesWithDefault(Instruction *I, Value *With) {
129 /// Replace an instruction's uses with a value using our replacer.
130 void replaceAllUsesWith(Instruction *I, Value *With);
135 /// Replace an instruction with a value and erase it from its parent.
136 void substituteInParent(Instruction *I, Value *With) {
147 function_ref<void(Instruction *, Value *)> Replacer =
152 /// optimal value to replace the instruction with or 0 if a more
153 /// optimal form can't be found. Note that the returned value may
158 Value *optimizeCall(CallInst *CI, IRBuilderBase &B);
162 Value *optimizeStrCat(CallInst *CI, IRBuilderBase &B);
163 Value *optimizeStrNCat(CallInst *CI, IRBuilderBase &B);
164 Value *optimizeStrChr(CallInst *CI, IRBuilderBase &B);
165 Value *optimizeStrRChr(CallInst *CI, IRBuilderBase &B);
166 Value *optimizeStrCmp(CallInst *CI, IRBuilderBase &B);
167 Value *optimizeStrNCmp(CallInst *CI, IRBuilderBase &B);
168 Value *optimizeStrNDup(CallInst *CI, IRBuilderBase &B);
169 Value *optimizeStrCpy(CallInst *CI, IRBuilderBase &B);
170 Value *optimizeStpCpy(CallInst *CI, IRBuilderBase &B);
171 Value *optimizeStrLCpy(CallInst *CI, IRBuilderBase &B);
172 Value *optimizeStrNCpy(CallInst *CI, IRBuilderBase &B);
173 Value *optimizeStrLen(CallInst *CI, IRBuilderBase &B);
174 Value *optimizeStrNLen(CallInst *CI, IRBuilderBase &B);
175 Value *optimizeStrPBrk(CallInst *CI, IRBuilderBase &B);
176 Value *optimizeStrTo(CallInst *CI, IRBuilderBase &B);
177 Value *optimizeStrSpn(CallInst *CI, IRBuilderBase &B);
178 Value *optimizeStrCSpn(CallInst *CI, IRBuilderBase &B);
179 Value *optimizeStrStr(CallInst *CI, IRBuilderBase &B);
180 Value *optimizeMemChr(CallInst *CI, IRBuilderBase &B);
181 Value *optimizeMemRChr(CallInst *CI, IRBuilderBase &B);
182 Value *optimizeMemCmp(CallInst *CI, IRBuilderBase &B);
183 Value *optimizeBCmp(CallInst *CI, IRBuilderBase &B);
184 Value *optimizeMemCmpBCmpCommon(CallInst *CI, IRBuilderBase &B);
185 Value *optimizeMemCCpy(CallInst *CI, IRBuilderBase &B);
186 Value *optimizeMemPCpy(CallInst *CI, IRBuilderBase &B);
187 Value *optimizeMemCpy(CallInst *CI, IRBuilderBase &B);
188 Value *optimizeMemMove(CallInst *CI, IRBuilderBase &B);
189 Value *optimizeMemSet(CallInst *CI, IRBuilderBase &B);
190 Value *optimizeRealloc(CallInst *CI, IRBuilderBase &B);
191 Value *optimizeNew(CallInst *CI, IRBuilderBase &B, LibFunc &Func);
192 Value *optimizeWcslen(CallInst *CI, IRBuilderBase &B);
193 Value *optimizeBCopy(CallInst *CI, IRBuilderBase &B);
196 Value *optimizeStringNCpy(CallInst *CI, bool RetEnd, IRBuilderBase &B);
198 Value *optimizeStringMemoryLibCall(CallInst *CI, IRBuilderBase &B);
201 Value *optimizeCAbs(CallInst *CI, IRBuilderBase &B);
202 Value *optimizePow(CallInst *CI, IRBuilderBase &B);
203 Value *replacePowWithExp(CallInst *Pow, IRBuilderBase &B);
204 Value *replacePowWithSqrt(CallInst *Pow, IRBuilderBase &B);
205 Value *optimizeExp2(CallInst *CI, IRBuilderBase &B);
206 Value *optimizeFMinFMax(CallInst *CI, IRBuilderBase &B);
207 Value *optimizeLog(CallInst *CI, IRBuilderBase &B);
208 Value *optimizeSqrt(CallInst *CI, IRBuilderBase &B);
209 Value *optimizeFMod(CallInst *CI, IRBuilderBase &B);
210 Value *mergeSqrtToExp(CallInst *CI, IRBuilderBase &B);
211 Value *optimizeSinCosPi(CallInst *CI, bool IsSin, IRBuilderBase &B);
212 Value *optimizeTrigInversionPairs(CallInst *CI, IRBuilderBase &B);
213 Value *optimizeSymmetric(CallInst *CI, LibFunc Func, IRBuilderBase &B);
214 Value *optimizeRemquo(CallInst *CI, IRBuilderBase &B);
215 Value *optimizeFdim(CallInst *CI, IRBuilderBase &B);
217 Value *optimizeFloatingPointLibCall(CallInst *CI, LibFunc Func,
221 Value *optimizeFFS(CallInst *CI, IRBuilderBase &B);
222 Value *optimizeFls(CallInst *CI, IRBuilderBase &B);
223 Value *optimizeAbs(CallInst *CI, IRBuilderBase &B);
224 Value *optimizeIsDigit(CallInst *CI, IRBuilderBase &B);
225 Value *optimizeIsAscii(CallInst *CI, IRBuilderBase &B);
226 Value *optimizeToAscii(CallInst *CI, IRBuilderBase &B);
227 Value *optimizeAtoi(CallInst *CI, IRBuilderBase &B);
228 Value *optimizeStrToInt(CallInst *CI, IRBuilderBase &B, bool AsSigned);
231 Value *optimizeErrorReporting(CallInst *CI, IRBuilderBase &B,
233 Value *optimizePrintF(CallInst *CI, IRBuilderBase &B);
234 Value *optimizeSPrintF(CallInst *CI, IRBuilderBase &B);
235 Value *optimizeSnPrintF(CallInst *CI, IRBuilderBase &B);
236 Value *optimizeFPrintF(CallInst *CI, IRBuilderBase &B);
237 Value *optimizeFWrite(CallInst *CI, IRBuilderBase &B);
238 Value *optimizeFPuts(CallInst *CI, IRBuilderBase &B);
239 Value *optimizePuts(CallInst *CI, IRBuilderBase &B);
242 Value* emitSnPrintfMemCpy(CallInst *CI, Value *StrArg, StringRef Str,
244 Value *emitStrLenMemCpy(Value *Src, Value *Dst, uint64_t Len,
246 void classifyArgUse(Value *Val, Function *F, bool IsFloat,
250 Value *optimizePrintFString(CallInst *CI, IRBuilderBase &B);
251 Value *optimizeSPrintFString(CallInst *CI, IRBuilderBase &B);
252 Value *optimizeSnPrintFString(CallInst *CI, IRBuilderBase &B);
253 Value *optimizeFPrintFString(CallInst *CI, IRBuilderBase &B);
256 Value *optimizeExit(CallInst *CI);
263 Value *optimizeStringLength(CallInst *CI, IRBuilderBase &B, unsigned CharSize,
264 Value *Bound = nullptr);