understanding llvm-test

I need some benchmarks to test some compiler passes on which I've been
working. So, I've been looking through llvm-test. I read through the
"LLVM Test Suite Guide" at http://llvm.org/docs/TestingGuide.html, and I
have a few questions. In particular, in the "Running the LLVM Tests"
section, it says that some tests are known to fail. Indeed when I've
done a make inside llvm-test, I get notices like:

******************** TEST (llc) 'simple' FAILED! ********************


******************** TEST (cbe) 'simple' FAILED! ********************

- How do I know which tests are supposed to fail and which ones failed
but should not have failed?

- It appears that once a piece of code is run through a backend, the
result is executed and compared to the execution of the code after being
run through the native backend. So, is there anyway to know if what the
native backend produced is correct? Or, do I just assume that if the
native backend compiles a piece of code, then it is correct?