diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2016-12-22 00:51:59 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2016-12-22 00:51:59 +0000 |
| commit | 5fa7d48bb804dd507e64086636f2f725d4e3af71 (patch) | |
| tree | f9034203dd4b2b4993a514510a47c7e20effe0d2 /llvm/lib/Target/NVPTX/NVVMIntrRange.cpp | |
| parent | 1eadba1c8c813aa7f53c784711ace70daa73b474 (diff) | |
| download | bcm5719-llvm-5fa7d48bb804dd507e64086636f2f725d4e3af71.tar.gz bcm5719-llvm-5fa7d48bb804dd507e64086636f2f725d4e3af71.zip | |
[NVVMIntrRange] Only set range metadata if none is already present
The range metadata inserted by NVVMIntrRange is pessimistic, range
metadata already present could be more precise.
llvm-svn: 290294
Diffstat (limited to 'llvm/lib/Target/NVPTX/NVVMIntrRange.cpp')
| -rw-r--r-- | llvm/lib/Target/NVPTX/NVVMIntrRange.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp b/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp index b9c02c43114..9c71a2ee165 100644 --- a/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp +++ b/llvm/lib/Target/NVPTX/NVVMIntrRange.cpp @@ -65,6 +65,10 @@ INITIALIZE_PASS(NVVMIntrRange, "nvvm-intr-range", // Adds the passed-in [Low,High) range information as metadata to the // passed-in call instruction. static bool addRangeMetadata(uint64_t Low, uint64_t High, CallInst *C) { + // This call already has range metadata, nothing to do. + if (C->getMetadata(LLVMContext::MD_range)) + return false; + LLVMContext &Context = C->getParent()->getContext(); IntegerType *Int32Ty = Type::getInt32Ty(Context); Metadata *LowAndHigh[] = { |

