diff options
author | Anders Carlsson <andersca@mac.com> | 2011-01-16 21:26:15 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2011-01-16 21:26:15 +0000 |
commit | 5822b86e4dc493f2fb7416a9aea0f51143d8e475 (patch) | |
tree | e5d3e044d9b3f5f66d60fe62c21f2fb3ae47e529 | |
parent | 0599c6bb3c9c3817600021f31f16eb49e57ea9d8 (diff) | |
download | external_llvm-5822b86e4dc493f2fb7416a9aea0f51143d8e475.zip external_llvm-5822b86e4dc493f2fb7416a9aea0f51143d8e475.tar.gz external_llvm-5822b86e4dc493f2fb7416a9aea0f51143d8e475.tar.bz2 |
Update README.txt to remove the DAE enhancement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123597 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/README.txt | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 6ba0d74..6c8187c 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -2,29 +2,6 @@ Target Independent Opportunities: //===---------------------------------------------------------------------===// -Dead argument elimination should be enhanced to handle cases when an argument is -dead to an externally visible function. Though the argument can't be removed -from the externally visible function, the caller doesn't need to pass it in. -For example in this testcase: - - void foo(int X) __attribute__((noinline)); - void foo(int X) { sideeffect(); } - void bar(int A) { foo(A+1); } - -We compile bar to: - -define void @bar(i32 %A) nounwind ssp { - %0 = add nsw i32 %A, 1 ; <i32> [#uses=1] - tail call void @foo(i32 %0) nounwind noinline ssp - ret void -} - -The add is dead, we could pass in 'i32 undef' instead. This occurs for C++ -templates etc, which usually have linkonce_odr/weak_odr linkage, not internal -linkage. - -//===---------------------------------------------------------------------===// - With the recent changes to make the implicit def/use set explicit in machineinstrs, we should change the target descriptions for 'call' instructions so that the .td files don't list all the call-clobbered registers as implicit |