diff options
| author | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-09-08 23:41:17 +0000 |
|---|---|---|
| committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-09-08 23:41:17 +0000 |
| commit | 94bb1a06fbb58f5eafce3785d229b0e61a25df54 (patch) | |
| tree | 38885fe456c4f89583362aec5bc7316b2c09e635 /llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | |
| parent | cde9acbb5dad080866be711fd8e44cf805ed97cc (diff) | |
| download | bcm5719-llvm-94bb1a06fbb58f5eafce3785d229b0e61a25df54.tar.gz bcm5719-llvm-94bb1a06fbb58f5eafce3785d229b0e61a25df54.zip | |
CodeGen: correct arguments for NSFastEnumeration
When performing a NSFastEnumeration, the compiler synthesizes a call to
`countByEnumeratingWithState:objects:count:` where the `count` parameter
is of type `NSUInteger` and the return type is a `NSUInteger`. We would
previously always use a `UnsignedLongTy` for the `NSUInteger` type. On
32-bit targets, `long` is 32-bits which is the same as `unsigned int`.
Most 64-bit targets are LP64, where `long` is 64-bits. However, on
LLP64 targets, such as Windows, `long` is 32-bits. Introduce new
`getNSUIntegerType` and `getNSIntegerType` helpers to allow us to
determine the correct type for the `NSUInteger` type. Wire those
through into the generation of the message dispatch to the selector.
llvm-svn: 312835
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp')
0 files changed, 0 insertions, 0 deletions

