[Attributor][FIX] Do not compute ranges for arguments of declarations

This cannot be triggered right now, as far as I know, but it doesn't
make sense to deduce a constant range on arguments of declarations.
Exposed during testing of AAValueSimplify extensions.
diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
index 0de59b3..b712ef7 100644
--- a/llvm/lib/Transforms/IPO/Attributor.cpp
+++ b/llvm/lib/Transforms/IPO/Attributor.cpp
@@ -7052,10 +7052,18 @@
 struct AAValueConstantRangeArgument final
     : AAArgumentFromCallSiteArguments<
           AAValueConstantRange, AAValueConstantRangeImpl, IntegerRangeState> {
-  AAValueConstantRangeArgument(const IRPosition &IRP)
-      : AAArgumentFromCallSiteArguments<
-            AAValueConstantRange, AAValueConstantRangeImpl, IntegerRangeState>(
-            IRP) {}
+  using Base = AAArgumentFromCallSiteArguments<
+      AAValueConstantRange, AAValueConstantRangeImpl, IntegerRangeState>;
+  AAValueConstantRangeArgument(const IRPosition &IRP) : Base(IRP) {}
+
+  /// See AbstractAttribute::initialize(..).
+  void initialize(Attributor &A) override {
+    if (!getAnchorScope() || getAnchorScope()->isDeclaration()) {
+      indicatePessimisticFixpoint();
+    } else {
+      Base::initialize(A);
+    }
+  }
 
   /// See AbstractAttribute::trackStatistics()
   void trackStatistics() const override {