The list of special forms:

block      let*                  return-from      
catch      load-time-value       setq             
eval-when  locally               symbol-macrolet  
flet       macrolet              tagbody          
function   multiple-value-call   the              
go         multiple-value-prog1  throw            
if         progn                 unwind-protect   
labels     progv                                  
let        quote                                  

Top-level preservation:

block         No  let*                    No   return-from         No  
catch         No  load-time-value         No   setq                No  
eval-when   Maybe locally                Yes   symbol-macrolet    Yes  
flet          No  macrolet               Yes   tagbody             No  
function     N/A  multiple-value-call     No   the                 No  
go           N/A  multiple-value-prog1    No   throw               No  
if            No  progn                  Yes   unwind-protect      No  
labels        No  progv                   No                           
let           No  quote                  N/A                           

Hardwired macros:

function definitions:
defun defmethod defmacro

binders:
multiple-value-bind handler-bind

special optimizer logic in some implementations:
cond
