summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-09-08 23:41:17 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-09-08 23:41:17 +0000
commit94bb1a06fbb58f5eafce3785d229b0e61a25df54 (patch)
tree38885fe456c4f89583362aec5bc7316b2c09e635 /llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
parentcde9acbb5dad080866be711fd8e44cf805ed97cc (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud