LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 14481 - ColdCC poorly implemented (ignored) on X86/X86_64
Summary: ColdCC poorly implemented (ignored) on X86/X86_64
Status: RESOLVED FIXED
Alias: None
Product: new-bugs
Classification: Unclassified
Component: new bugs (show other bugs)
Version: trunk
Hardware: PC Linux
: P enhancement
Assignee: Unassigned LLVM Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-02 14:28 PST by Will Dietz
Modified: 2013-08-30 13:21 PDT (History)
3 users (show)

See Also:
Fixed By Commit(s):


Attachments
Example fix for X86/X86_64 (2.89 KB, application/octet-stream)
2012-12-02 14:28 PST, Will Dietz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Will Dietz 2012-12-02 14:28:32 PST
Created attachment 9631 [details]
Example fix for X86/X86_64

Calls to coldcc functions unnecessarily are treated as clobbering registers in the same manner as normal calls.  Instead, we should better model the "this call clobbers nothing" property that makes coldcc useful.

Attached is a works-for-me(TM) patch that resolves this issue on x86_64, and might work on X86 as well.  Ideally this could be implemented in a more target-agnostic manner, but I'm not sure how to best approach that.  I leave that to the good folk more familiar with the related components :).
Comment 1 Will Dietz 2013-08-30 13:21:41 PDT
Fixed in r175911 (Feb 2013).