Go to file
Tobias Grosser 45e7944bcf Only use instructions as insert locations for SCEVExpander
SCEVExpander, which we are using during code generation, only allows
instructions as insert locations, but breaks in case BasicBlock->end() iterators
are passed to it due to it trying to obtain the basic block in which code should
be generated by calling Instruction->getParent(), which is not defined for
->end() iterators.

This change adds an assert to Polly that ensures we only pass valid instructions
to SCEVExpander and it fixes one case, where we used IRBuilder->SetInsertBlock()
to set an ->end() insert location which was later passed to SCEVExpander.

In general, Polly is always trying to build up the CFG first, before we actually
insert instructions into the CFG sceleton. As a result, each basic block should
already have at least one branch instruction before we start adding code. Hence,
always requiring the IRBuilder insert location to be set to a real instruction
should always be possible.

Thanks Utpal Bora <cs14mtech11017@iith.ac.in> for his help with test case
reduction.

llvm-svn: 243830
2015-08-01 09:07:57 +00:00
clang [MS ABI] Create a mangling for extended vector types 2015-08-01 05:51:55 +00:00
clang-tools-extra Add missing 'override'. 2015-07-31 18:32:38 +00:00
compiler-rt [asan] Link tests with ld.gold on Android. 2015-08-01 00:01:23 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Fix double implementation of log 2015-07-24 18:07:14 +00:00
libcxx Remove -Werror when using check_cxx_compiler_flag because it was causing compiler-rt breakages. 2015-07-31 21:09:38 +00:00
libcxxabi [libc++abi] Allow use just compiled clang++ for tests 2015-07-31 15:25:11 +00:00
libunwind [libunwind] Flip order of extern "C" and attribute(visibility) 2015-07-24 19:29:05 +00:00
lld COFF: Fix error message. Space was missing. 2015-07-31 21:51:25 +00:00
lldb [lldb-mi] Fix evaluation for children of created variable object. 2015-07-31 21:00:00 +00:00
llgo [llgo] build llgoi by default 2015-07-21 00:47:18 +00:00
llvm -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-01 05:31:27 +00:00
openmp Update Build_With_CMake.txt to reflect changes in CMake refactor 2015-07-27 16:23:42 +00:00
polly Only use instructions as insert locations for SCEVExpander 2015-08-01 09:07:57 +00:00