See the BUG description for more details. In short, the register allocator was inappropriately honoring AllowRegisterOverlap even when the variable's live range overlaps with an Unhandled variable precolored to the preferred register. Also changes legalize() logic to recognize when a variable is guaranteed to ultimately have a physical register due to infinite weight, and not create a new temporary in those cases. Finally, dumps RegisterPreference and AllowRegisterOverlap info for Variables for improved diagnostics. BUG= https://code.google.com/p/nativeclient/issues/detail?id=3897 R=jvoung@chromium.org Review URL: https://codereview.chromium.org/380363002
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| IceCfg.cpp | Loading commit data... | |
| IceCfg.h | Loading commit data... | |
| IceCfgNode.cpp | Loading commit data... | |
| IceCfgNode.h | Loading commit data... | |
| IceClFlags.h | Loading commit data... | |
| IceConverter.cpp | Loading commit data... | |
| IceConverter.h | Loading commit data... | |
| IceDefs.h | Loading commit data... | |
| IceGlobalContext.cpp | Loading commit data... | |
| IceGlobalContext.h | Loading commit data... | |
| IceInst.cpp | Loading commit data... | |
| IceInst.def | Loading commit data... | |
| IceInst.h | Loading commit data... | |
| IceInstX8632.cpp | Loading commit data... | |
| IceInstX8632.def | Loading commit data... | |
| IceInstX8632.h | Loading commit data... | |
| IceIntrinsics.cpp | Loading commit data... | |
| IceIntrinsics.h | Loading commit data... | |
| IceLiveness.cpp | Loading commit data... | |
| IceLiveness.h | Loading commit data... | |
| IceOperand.cpp | Loading commit data... | |
| IceOperand.h | Loading commit data... | |
| IceRegAlloc.cpp | Loading commit data... | |
| IceRegAlloc.h | Loading commit data... | |
| IceTargetLowering.cpp | Loading commit data... | |
| IceTargetLowering.h | Loading commit data... | |
| IceTargetLoweringX8632.cpp | Loading commit data... | |
| IceTargetLoweringX8632.def | Loading commit data... | |
| IceTargetLoweringX8632.h | Loading commit data... | |
| IceTranslator.cpp | Loading commit data... | |
| IceTranslator.h | Loading commit data... | |
| IceTypes.cpp | Loading commit data... | |
| IceTypes.def | Loading commit data... | |
| IceTypes.h | Loading commit data... | |
| Makefile | Loading commit data... | |
| PNaClTranslator.cpp | Loading commit data... | |
| PNaClTranslator.h | Loading commit data... | |
| llvm2ice.cpp | Loading commit data... |