Skip to content

SimplifyLibCalls misses optimization #1687

@llvmbot

Description

@llvmbot
Bugzilla Link 1315
Resolution FIXED
Resolved on Feb 22, 2010 12:52
Version trunk
OS All
Reporter LLVM Bugzilla Contributor

Extended Description

After Chris' round of changes to SimplifyLibCalls, it is now missing an
optimization that it previously performed, as identified by this test case
failing:
FAIL: /proj/llvm/llvm-1/test/Transforms/SimplifyLibCalls/SPrintF.ll:
child process exited abnormally
%r4 = call i32 (i8*, i8*, ...)* @​sprintf( i8* %target_p, i8* %fmt1_p, i8*
%hello_p ) ; [#uses=1]
%r4.1 = call i32 (i8*, i8*, ...)* @​sprintf( i8* %target_p, i8* %fmt1_p, i8* %p
) ; [#uses=1]
%r5 = call i32 (i8*, i8*, ...)* @​sprintf( i8* %target_p, i8* %fmt2_p, i32 82 )
; [#uses=1]

Some of these are important for performance. For example, the first one should
be reduced to a few stores.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillaipoInterprocedural optimizations

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions