summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/CFG.cpp
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2016-02-25 05:03:52 +0000
committerSimon Atanasyan <simon@atanasyan.com>2016-02-25 05:03:52 +0000
commit49bc69b9bbafd026aaa44cbc3ac1c671152f3507 (patch)
treed27d5ffafd22d99e1f8b23951b9b556587180018 /llvm/lib/Analysis/CFG.cpp
parent2b972dfebb2e0e987c33fcf432cdfc0f8c9bbc1b (diff)
downloadbcm5719-llvm-49bc69b9bbafd026aaa44cbc3ac1c671152f3507.tar.gz
bcm5719-llvm-49bc69b9bbafd026aaa44cbc3ac1c671152f3507.zip
[ELF][MIPS] Enumerate absolute MIPS relocations in the isRelRelative
This commit does two related thing. At first, it enumerates supported absolute MIPS relocations in the `MipsTargetInfo<ELFT>::isRelRelative` method. In that case the code is shorter and the case switch does not tend to grow. At second, it prevents R_MIPS_COPY and PLT creation for relative relocations. For almost all relative MIPS relocations like R_MIPS_PC19_S2, R_MIPS_PCHI16 etc it does not have a sence. The only exception is R_MIPS_PC32. GNU linker creates a copy relocation or PLT entry for it. But I could not find any real test case uses R_MIPS_PC32 with DSO defined symbol as a target. So for now I prefer to skip this case to simplify the LLD code. llvm-svn: 261822
Diffstat (limited to 'llvm/lib/Analysis/CFG.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud