Neither was LLVM IR, if you mean "portable bytecode".
Both asm.js and PNaCl are using the technologies in ways they were not originally designed for.