summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/DebugInfoMetadata.cpp
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed.bougacha@gmail.com>2016-04-19 17:54:29 +0000
committerAhmed Bougacha <ahmed.bougacha@gmail.com>2016-04-19 17:54:29 +0000
commit40a34c2e2af8eaabfac246c9801af09a4e478dc1 (patch)
treedb13910628ad91717c9c90b31a4851c3075abf48 /llvm/lib/IR/DebugInfoMetadata.cpp
parent8862cae75ba0bb2dbfc7bc1d5ca0e0a45c408387 (diff)
downloadbcm5719-llvm-40a34c2e2af8eaabfac246c9801af09a4e478dc1.tar.gz
bcm5719-llvm-40a34c2e2af8eaabfac246c9801af09a4e478dc1.zip
[CodeGen] Widen non-power-of-2 vector HFA base types.
Currently, for the ppc64--gnu and aarch64 ABIs, we recognize: typedef __attribute__((__ext_vector_type__(3))) float v3f32; typedef __attribute__((__ext_vector_type__(16))) char v16i8; struct HFA { v3f32 a; v16i8 b; }; as an HFA. Since the first type encountered is used as the base type, we pass the HFA as: [2 x <3 x float>] Which leads to incorrect IR (relying on padding values) when the second field is used. Instead, explicitly widen the vector (after size rounding) in isHomogeneousAggregate. Differential Revision: http://reviews.llvm.org/D18998 llvm-svn: 266784
Diffstat (limited to 'llvm/lib/IR/DebugInfoMetadata.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud