Skip to content

Support AP integers in the code generator #1642

@llvmbot

Description

@llvmbot
Bugzilla Link 1270
Resolution FIXED
Resolved on Apr 22, 2009 04:35
Version trunk
OS All
Depends On llvm/llvm-bugzilla-archive#1462
Reporter LLVM Bugzilla Contributor
CC @sunfishcode

Extended Description

Currently, the various targets only handle arbitrary precision integers of
discrete byte sizes (1, 2, 4, 8 bytes). However, the LLVM IR can now handle
integer bit widths from 1 bit to 8 million bits. In cases where the integer bit
size doesn't match the discrete byte size of a "known" integer, the common code
generator will generate an assertion because the integer size doesn't map to
something the machine recognizes.

This problem needs to be fixed because:

a) it prevents codegen for programs with "funny" bit sizes.
b) it prevents bit-size optimizations from working. For example, a bit size
minimization pass might be able to determine that an i32 value really only
needs 14 bits. It would thus fit into an i16 instead of an i32. However the
pass would generate i14 which would cause the common code gen to assert.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillaenhancementImproving things as opposed to bug fixing, e.g. new or missing featurellvm:codegen

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions