summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
diff options
context:
space:
mode:
authorAlex Bradbury <asb@lowrisc.org>2018-05-23 10:53:56 +0000
committerAlex Bradbury <asb@lowrisc.org>2018-05-23 10:53:56 +0000
commit1c010d0fa4be73441bfd0adc07243f76739b1323 (patch)
treecd4c639a0cad71631c0a44d06cc1653892335d76 /llvm/lib/Target/Sparc
parent5b1b594f649b154d30cd74bc81429f87e85b1a14 (diff)
downloadbcm5719-llvm-1c010d0fa4be73441bfd0adc07243f76739b1323.tar.gz
bcm5719-llvm-1c010d0fa4be73441bfd0adc07243f76739b1323.zip
[RISCV] Correctly report sizes for builtin fixups
This is a different approach to fixing the problem described in D46746. RISCVAsmBackend currently depends on the getSize helper function returning the number of bytes a fixup may change (note: some other backends have a similar helper named getFixupNumKindBytes). As noted in that review, this doesn't return the correct size for FK_Data_1, FK_Data_2, or FK_Data_8 meaning that too few bytes will be written in the case of FK_Data_8, and there's the potential of writing outside the Data array for the smaller fixups. D46746 extends getSize to recognise some of the builtin fixup types. Rather than having a function that needs to be kept up to date as new builtin or target-specific fixups are added, We can calculate an appropriate bound on the number of bytes that might be touched using Info.TargetSize and Info.TargetOffset. Differential Revision: https://reviews.llvm.org/D46965 llvm-svn: 333076
Diffstat (limited to 'llvm/lib/Target/Sparc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud