How to generate .ll and .bc for arm

.ll and .bc both are mostly target-independent. but You can use clang -S --target=yourtarget to emit target assembly in .s format.
See this thread LLVM build.
Also, See Getting started example with clang to understand the pipeline.
And Cross compiling using clang.

I think you should read some background of LLVM first:-
LLVM chapter from AOSA book
Introducing LLVM Intermediate Representation from Getting Started with LLVM Core Libraries