I want to remove an UnreachableInst since a previous transformation has made it reachable. However, calling eraseFromParent() gives me a malformed BasicBlock since the UnreachableInst is the terminator of its BasicBlock. How do I fix the BasicBlock to terminate at the instruction previous to the UnreachableInst?
Llvm Remove Terminator Instruction
1.4k Views Asked by Aerion At
1
There are 1 best solutions below
Related Questions in LLVM
- llvm headers do not compile under msvc 2013
- clang -Xclang -cc1 -O3 mips.c -emit-llvm , clang error: -emit-llvm cannot be used when linking
- clang::HeaderSearch search path ignored
- Generate C++ style code using LLVM
- What does an overlong bitshift on a LLVM vector yield?
- How can I store arbitrary data in LLVM metadata?
- Error when compiling simple LLVM example with Mingw
- In LLVM IR, how can I print the name of a unnamed value which is represented as an unsigned numeric value with their prefix such as %2?
- Why static_assert calls in unused template methods in LLVM
- With Swift open sourced, what would it take to have it running on the JVM?
- How to compile LLVM .cpp file in Windows
- Xcode 7 command failed due to signal: illegal instruction 4
- c++ segfault on one platform (MacOSX) but not another (linux)
- Call to implicitly-deleted copy constructor in LLVM(Porting code from windows to mac)
- How do I compile with "ffast-math"?
Related Questions in TERMINATOR
- how to open file in another pane in Tmux
- Copy working directory from one terminator screen to another
- Vim + solarized + terminator = keywords highlighted in black
- C - Why is a string terminator automatically being added when assigning individual chars to the array?
- terminator open split windows via bash script
- Llvm Remove Terminator Instruction
- Solarized theme for multiple windows on terminator not working
- Change zsh history color
- Lineterminator giving extra row using pandas
- In SQL Server bulk insert, how do I use higher ASCII characters for Field and Row terminators
- Solarized theme on Vim + Terminator + Ubuntu 11.10
- What is the NEL line terminator?
- See recent outputs of a closed terminal
- Weird hex numbers in BMP file
- Converting a C-ctyle string encoded as a character array to a Java String
Related Questions in UNREACHABLE-STATEMENT
- Java "add return statement" error
- How to do this Card class in java?
- Unreachable Statement On "Return"
- Javacc Unreachable Statement
- Llvm Remove Terminator Instruction
- Why is it giving me a return missing error?
- How is my simple if-else statement unreachable code?
- Searching an array list for a specific record in java
- Trying to open new activities from NavigationDrawer, but it says unreachable statement
- if (boolean)unreachable statement in Java
- Android ConnectivityManager is error 'unreachable statement'
- Why do I get unreachable statement error in Java?
- JUnit covering unreachable code
- How to tell Android studio that a method does not return
- java - unreachable statement help (linked lists)
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Every basic block must end with a terminator. I think that the most straightforward way to remove the unreachable instruction, then, is to replace it with another terminator - for example, a branch into the next basic block, a return instruction, etc.
Take a look at
llvm::ReplaceInstWithInstin BasicBlockUtils.h for a convenient way to replace one instruction with another.