summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Verifier.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-01-11 22:31:41 +0000
committerChris Lattner <sabre@nondot.org>2008-01-11 22:31:41 +0000
commitb5bd924e839a3bef97fb44f68f3d1172aaee1c4b (patch)
tree70d59d36e3322d2f9beab1933e28b9367a8dab93 /llvm/lib/VMCore/Verifier.cpp
parent0ebaf91f48f44851d8e9786bef3dfea5d37ca413 (diff)
downloadbcm5719-llvm-b5bd924e839a3bef97fb44f68f3d1172aaee1c4b.tar.gz
bcm5719-llvm-b5bd924e839a3bef97fb44f68f3d1172aaee1c4b.zip
Teach argpromote to ruthlessly hack small byval structs when it can
get away with it, which exposes opportunities to eliminate the memory objects entirely. For example, we now compile byval.ll to: define internal void @f1(i32 %b.0, i64 %b.1) { entry: %tmp2 = add i32 %b.0, 1 ; <i32> [#uses=0] ret void } define i32 @main() nounwind { entry: call void @f1( i32 1, i64 2 ) ret i32 0 } This seems like it would trigger a lot for code that passes around small structs (e.g. SDOperand's or _Complex)... llvm-svn: 45886
Diffstat (limited to 'llvm/lib/VMCore/Verifier.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud