Skip to content

Commit d10a03d

Browse files
committed
SimplifyLibCalls: Use default globals address space when building new global strings.
Writing a test for this transitively exposed a number of places in BuildLibCalls where we were failing to propagate address spaces properly, which are additionally fixed.
1 parent df43af4 commit d10a03d

File tree

4 files changed

+173
-87
lines changed

4 files changed

+173
-87
lines changed

llvm/include/llvm/Transforms/Utils/BuildLibCalls.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ namespace llvm {
247247

248248
/// Emit a call to the malloc function.
249249
Value *emitMalloc(Value *Num, IRBuilderBase &B, const DataLayout &DL,
250-
const TargetLibraryInfo *TLI);
250+
const TargetLibraryInfo *TLI, unsigned AddrSpace);
251251

252252
/// Emit a call to the calloc function.
253253
Value *emitCalloc(Value *Num, Value *Size, IRBuilderBase &B,
@@ -256,24 +256,27 @@ namespace llvm {
256256
/// Emit a call to the hot/cold operator new function.
257257
Value *emitHotColdNew(Value *Num, IRBuilderBase &B,
258258
const TargetLibraryInfo *TLI, LibFunc NewFunc,
259-
uint8_t HotCold);
259+
uint8_t HotCold, unsigned AddrSpace);
260260
Value *emitHotColdNewNoThrow(Value *Num, Value *NoThrow, IRBuilderBase &B,
261261
const TargetLibraryInfo *TLI, LibFunc NewFunc,
262-
uint8_t HotCold);
262+
uint8_t HotCold, unsigned AddrSpace);
263263
Value *emitHotColdNewAligned(Value *Num, Value *Align, IRBuilderBase &B,
264264
const TargetLibraryInfo *TLI, LibFunc NewFunc,
265-
uint8_t HotCold);
265+
uint8_t HotCold, unsigned AddrSpace);
266266
Value *emitHotColdNewAlignedNoThrow(Value *Num, Value *Align, Value *NoThrow,
267267
IRBuilderBase &B,
268268
const TargetLibraryInfo *TLI,
269-
LibFunc NewFunc, uint8_t HotCold);
269+
LibFunc NewFunc, uint8_t HotCold,
270+
unsigned AddrSpace);
270271
Value *emitHotColdSizeReturningNew(Value *Num, IRBuilderBase &B,
271272
const TargetLibraryInfo *TLI,
272-
LibFunc NewFunc, uint8_t HotCold);
273+
LibFunc NewFunc, uint8_t HotCold,
274+
unsigned AddrSpace);
273275
Value *emitHotColdSizeReturningNewAligned(Value *Num, Value *Align,
274276
IRBuilderBase &B,
275277
const TargetLibraryInfo *TLI,
276-
LibFunc NewFunc, uint8_t HotCold);
278+
LibFunc NewFunc, uint8_t HotCold,
279+
unsigned AddrSpace);
277280
}
278281

279282
#endif

0 commit comments

Comments
 (0)