As of linux version 3.1, support for dm-crypt TRIM pass-through can be toggled upon device creation or mount with dmsetup. Support for this option also exists in cryptsetup version 1.4.0 and up. To add support during boot, you will need to add ":allow-discards" to the cryptdevice option. The option should look like this:
cryptdevice=/dev/mapper/root:root:allow-discards