summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/ABIInfo.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-07-29 05:02:29 +0000
committerChris Lattner <sabre@nondot.org>2010-07-29 05:02:29 +0000
commit9fa15c3608ee7e0277f61b296799a69a400a65ed (patch)
tree7c8610abfc3584fc97c78bf97c897604813d243f /clang/lib/CodeGen/ABIInfo.h
parent4200fe4e50ad6e0f3e63764470fb85adadf9fd8d (diff)
downloadbcm5719-llvm-9fa15c3608ee7e0277f61b296799a69a400a65ed.tar.gz
bcm5719-llvm-9fa15c3608ee7e0277f61b296799a69a400a65ed.zip
ignore structs that wrap vectors in IR, the abstraction shouldn't add penalty.
Before we'd compile the example into something like: %coerce.dive2 = getelementptr %struct.v4f32wrapper* %retval, i32 0, i32 0 ; <<4 x float>*> [#uses=1] %1 = bitcast <4 x float>* %coerce.dive2 to <2 x double>* ; <<2 x double>*> [#uses=1] %2 = load <2 x double>* %1, align 1 ; <<2 x double>> [#uses=1] ret <2 x double> %2 Now we produce: %coerce.dive2 = getelementptr %struct.v4f32wrapper* %retval, i32 0, i32 0 ; <<4 x float>*> [#uses=1] %0 = load <4 x float>* %coerce.dive2, align 1 ; <<4 x float>> [#uses=1] ret <4 x float> %0 llvm-svn: 109732
Diffstat (limited to 'clang/lib/CodeGen/ABIInfo.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud