llvm/lib
Will Schmidt 723bdb5e3f Disable IsSub subregister assert. pr18663.
This is a follow-up to the activity in the bug at
http://llvm.org/bugs/show_bug.cgi?id=18663 .  The underlying issue has
to do with how the KILL pseudo-instruction is handled.  I defer to
Hal/Jakob/Uli for additional details and background.

This will disable the (bad?) assert, add an associated fixme comment,
and add a pair of tests.

The code change and the pr18663-2.ll test are copied from the referenced
bug.  That test does not immediately fail in my environment, but I have
added the pr18663.ll test which does.

(Comment from Hal)
to provide everyone else with some context, this assert was not bad when
it was written. At that time, we only generated KILL pseudo instructions
around subregister copies. This logic, unfortunately, had its own problems.
In r199797, the relevant logic in MachineCopyPropagation was replaced to
generate KILLs for other kinds of copies too. This change in semantics broke
this now-problematic assumption in AggressiveAntiDepBreaker. The
AggressiveAntiDepBreaker really needs a proper cleanup to deal with the
change, but removing the assert (which just allows the function to return
false) is a safe conservative behavior, and should do for the time being.






git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214429 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-31 19:50:53 +00:00
..
Analysis Fix ScalarEvolutionExpander when creating a PHI in a block with duplicate predecessors 2014-07-31 19:13:38 +00:00
AsmParser Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
Bitcode UseListOrder: Handle self-users 2014-07-31 18:33:12 +00:00
CodeGen Disable IsSub subregister assert. pr18663. 2014-07-31 19:50:53 +00:00
DebugInfo Use std::unique_ptr to make the ownership explicit. 2014-07-31 03:12:45 +00:00
ExecutionEngine Use std::unique_ptr to make the ownership explicit. 2014-07-31 03:12:45 +00:00
IR Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
IRReader Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
LineEditor
Linker Include <tuple> to make buildbots happy 2014-06-27 18:38:12 +00:00
LTO Attempt at fixing the windows dll build. 2014-07-30 23:39:30 +00:00
MC Move MCObjectSymbolizer.h to MC/MCAnalysis. 2014-07-31 19:29:23 +00:00
Object A std::unique_ptr case I missed in the previous patch. 2014-07-31 03:36:00 +00:00
Option Generic: add range-adapter for option parsing. 2014-07-09 13:03:37 +00:00
ProfileData Use std::unique_ptr to make the ownership explicit. 2014-07-31 03:12:45 +00:00
Support Remove dead code. 2014-07-25 19:06:39 +00:00
TableGen Don't fail tablegen immediately after failing to set a value. 2014-07-31 01:44:00 +00:00
Target Fixing an -Woverloaded-virtual warnings by exposing the hidden virtual function as well. No functional changes intended. 2014-07-31 12:58:50 +00:00
Transforms [msan] Fix handling of array types. 2014-07-31 11:02:27 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile