[Bug ipa/102581] [12 Regression] ice in forced_merge, at ipa-modref-tree.h:352 with -fno-strict-aliasing and -O2 since r12-3202-gf5ff3a8ed4ca9173

dcb314 at hotmail dot com gcc-bugzilla@gcc.gnu.org
Mon Oct 4 08:16:38 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102581

--- Comment #4 from David Binderman <dcb314 at hotmail dot com> ---
Reduced C++ source code, after a pretty hefty four hours of reduction, is

enum VkStructureType {
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
  VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR
} typedef VkPhysicalDeviceSparseProperties;
struct VkPhysicalDeviceProperties {
  int apiVersion;
  VkPhysicalDeviceSparseProperties sparseProperties;
};
typedef struct {
  VkStructureType sType;
  int *pPhysicalDevices;
} VkPhysicalDeviceFeatures2;
typedef struct VkPhysicalDeviceProperties2 {
  VkStructureType sType;
  void *pNext;
} VkPhysicalDeviceMemoryProperties2;
struct VulkanVersion {
  int major;
  int minor;
  int patch;
};
int make_vulkan_version_version;
VulkanVersion make_vulkan_version() {
  return {make_vulkan_version_version, make_vulkan_version_version,
          make_vulkan_version_version};
}
struct AppGpu {
  int &inst;
  int id;
  int *phys_device = nullptr;
  VulkanVersion api_version{};
  VkPhysicalDeviceProperties props{};
  VkPhysicalDeviceProperties2 props2{};
  int memory_props{};
  VkPhysicalDeviceMemoryProperties2 memory_props2{};
  int features{};
  VkPhysicalDeviceFeatures2 features2{};
  int *dev = nullptr;
  int enabled_features{};
  int AppGpu_phys_device;
  int AppGpu_inst;
  AppGpu() : inst(AppGpu_inst), id() {
    api_version = make_vulkan_version();
    props2.sType = memory_props2.sType = features2.sType =
        VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
  }
};
main() { AppGpu(); }


More information about the Gcc-bugs mailing list