1. Which of the following is a primary function of the LLVM framework?
A) Lexical analysis
B) Code generation and optimization
C) Error detection
D) Semantic analysis
Answer: B) Code generation and optimization
2. Which of the following is true about the GCC (GNU Compiler Collection)?
A) GCC is primarily used for lexical analysis
B) GCC is a set of compilers that can compile C, C++, and other languages
C) GCC only supports Java
D) GCC is not open-source
Answer: B) GCC is a set of compilers that can compile C, C++, and other languages
3. In the context of LLVM, what is the LLVM Intermediate Representation (IR)?
A) A low-level assembly language
B) A high-level language specific to LLVM
C) An intermediate form of code used to perform optimizations
D) The final output of the compiler
Answer: C) An intermediate form of code used to perform optimizations
4. What type of analysis does LLVM primarily focus on?
A) Syntax analysis
B) Type checking
C) Code generation and optimization
D) Lexical analysis
Answer: C) Code generation and optimization
5. Which of the following components is NOT part of GCC Internals?
A) Frontend
B) Middle-end
C) Backend
D) Compiler optimizer
Answer: D) Compiler optimizer (GCC performs optimization in the backend)
6. Which of the following is a benefit of using LLVM for compiling programs?
A) LLVM offers easy integration with existing compilers
B) LLVM provides a simple architecture that directly generates machine code
C) LLVM supports real-time code generation for all programming languages
D) LLVM is only used for Java and Python
Answer: A) LLVM offers easy integration with existing compilers
7. What is the role of the frontend in GCC?
A) Performing code optimizations
B) Translating the high-level language source code into an intermediate representation
C) Generating the final executable
D) Handling dynamic linking
Answer: B) Translating the high-level language source code into an intermediate representation
8. Which of the following best describes LLVM’s architecture?
A) A single monolithic codebase for all programming languages
B) A set of reusable libraries and tools for building compilers
C) A proprietary closed-source compiler
D) A debugging tool for compilers
Answer: B) A set of reusable libraries and tools for building compilers
9. Which of the following is NOT a feature of the GCC compiler?
A) Support for multiple programming languages
B) It can perform code optimization
C) It generates machine code directly without intermediate steps
D) It is an open-source compiler suite
Answer: C) It generates machine code directly without intermediate steps
10. What does LLVM use to optimize programs during compilation?
A) Control flow analysis
B) Intermediate representations (IR)
C) Syntactic tree analysis
D) Direct assembly-level manipulations
Answer: B) Intermediate representations (IR)
11. Which phase of compilation is handled by the backend of the GCC compiler?
A) Code generation and optimization
B) Syntax analysis
C) Lexical analysis
D) Error handling
Answer: A) Code generation and optimization
12. Which feature of LLVM makes it suitable for just-in-time (JIT) compilation?
A) Its use of a single intermediate language
B) Its highly optimized code generation backend
C) Its ability to perform transformations on the intermediate code at runtime
D) Its focus on assembly-level code generation
Answer: C) Its ability to perform transformations on the intermediate code at runtime
13. Which of the following languages is NOT directly supported by the GCC compiler?
A) C
B) C++
C) Fortran
D) Java
Answer: D) Java
14. In LLVM, the “frontend” is responsible for:
A) Performing low-level optimizations
B) Generating the final executable code
C) Converting source code into an intermediate representation (IR)
D) Running the code on the target architecture
Answer: C) Converting source code into an intermediate representation (IR)
15. Which of the following tools is used by LLVM for code optimization?
A) Clang
B) GCC
C) LLVM Optimizer
D) Lex
Answer: C) LLVM Optimizer
16. Which of the following components of GCC is responsible for code generation?
A) Frontend
B) Middle-end
C) Backend
D) Parser
Answer: C) Backend
17. What is the primary advantage of using the LLVM compiler infrastructure?
A) It is the fastest compiler available
B) It allows for the easy creation of custom compilers for new languages
C) It only supports C and C++ programming languages
D) It does not require an intermediate representation
Answer: B) It allows for the easy creation of custom compilers for new languages
18. Which of the following is NOT a tool provided by LLVM?
A) Clang
B) LLDB
C) GDB
D) LLVM IR
Answer: C) GDB
19. Which tool in the LLVM framework is used for compiling C/C++ code?
A) Clang
B) GCC
C) YACC
D) Lex
Answer: A) Clang
20. Which of the following statements best describes GCC Internals?
A) GCC is a simple compiler for C only
B) GCC is a collection of compilers that supports multiple programming languages
C) GCC does not perform any optimizations
D) GCC uses only a single-step process for compilation
Answer: B) GCC is a collection of compilers that supports multiple programming languages