summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2016-07-30 11:31:16 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2016-07-30 11:31:16 +0000
commit22ff865a83046370b24678da2d3342dedd39cffb (patch)
tree4bedb218743d09e9d2630dffd5d35a881ac8b2e2 /llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
parent0c09a3af00c62f27588be346e6b724028bee2529 (diff)
downloadbcm5719-llvm-22ff865a83046370b24678da2d3342dedd39cffb.tar.gz
bcm5719-llvm-22ff865a83046370b24678da2d3342dedd39cffb.zip
[AMDGPU] Fix lifetime of SmallVector temporaries.
Found by asan -fsanitize-address-use-after-scope. llvm-svn: 277265
Diffstat (limited to 'llvm/lib/Target/AMDGPU/R600InstrInfo.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/R600InstrInfo.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp b/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
index 159c17d986d..08b95a5be64 100644
--- a/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
@@ -320,12 +320,12 @@ R600InstrInfo::ExtractSrcs(MachineInstr &MI,
const DenseMap<unsigned, unsigned> &PV,
unsigned &ConstCount) const {
ConstCount = 0;
- ArrayRef<std::pair<MachineOperand *, int64_t>> Srcs = getSrcs(MI);
const std::pair<int, unsigned> DummyPair(-1, 0);
std::vector<std::pair<int, unsigned> > Result;
unsigned i = 0;
- for (unsigned n = Srcs.size(); i < n; ++i) {
- unsigned Reg = Srcs[i].first->getReg();
+ for (const auto &Src : getSrcs(MI)) {
+ ++i;
+ unsigned Reg = Src.first->getReg();
int Index = RI.getEncodingValue(Reg) & 0xff;
if (Reg == AMDGPU::OQAP) {
Result.push_back(std::make_pair(Index, 0U));
@@ -592,9 +592,7 @@ R600InstrInfo::fitsConstReadLimitations(const std::vector<MachineInstr *> &MIs)
if (!isALUInstr(MI.getOpcode()))
continue;
- ArrayRef<std::pair<MachineOperand *, int64_t>> Srcs = getSrcs(MI);
-
- for (const auto &Src:Srcs) {
+ for (const auto &Src : getSrcs(MI)) {
if (Src.first->getReg() == AMDGPU::ALU_LITERAL_X)
Literals.insert(Src.second);
if (Literals.size() > 4)
OpenPOWER on IntegriCloud