|
|
|
|
|
by mikeash
4005 days ago
|
|
I don't think it is apples and oranges. Here's my next example: int ComputeStuff(int *value) {
if(value == NULL) {
long and complex computation for a NULL value
return result
} else {
long and complex computation using the data pointed to by value
return result
}
}
Then I call it from somewhere else like so: // NOTE: value must be non-NULL
void DoStuff(int *value) {
int pointedTo = *value;
// do some work with pointedTo
int computedResult = ComputeStuff(value);
// do some more work with whatever
}
Now, are you saying the compiler should not take advantage of the fact that it knows value is non-NULL at this particular call site and eliminate half of the code in this situation? |
|