aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorTom Stellard <tstellar@redhat.com>2020-12-17 10:43:00 -0800
committerTom Stellard <tstellar@redhat.com>2020-12-17 14:30:31 -0800
commit3203143f1356a4e4e3ada231156fc6da6e1a9f9d (patch)
tree88f591eeea6bbd8249c3834fb238af48c8def7a2 /clang/lib/CodeGen/CodeGenModule.cpp
parent71a1b9fe76acfea8920e143c807c5cb8bf510254 (diff)
downloadllvm-3203143f1356a4e4e3ada231156fc6da6e1a9f9d.zip
llvm-3203143f1356a4e4e3ada231156fc6da6e1a9f9d.tar.gz
llvm-3203143f1356a4e4e3ada231156fc6da6e1a9f9d.tar.bz2
CodeGen: Improve generated IR for __builtin_mul_overflow(uint, uint, int)
Add a special case for handling __builtin_mul_overflow with unsigned inputs and a signed output to avoid emitting the __muloti4 library call on x86_64. __muloti4 is not implemented in libgcc, so avoiding this call fixes compilation of some programs that call __builtin_mul_overflow with these arguments. For example, this fixes the build of cpio with clang, which includes code from gnulib that calls __builtin_mul_overflow with these argument types. Reviewed By: vsk Differential Revision: https://reviews.llvm.org/D84405
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions