1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/lib
Ulrich Weigand b59883a864 [SystemZ] Reclassify f32 subregs of f64 registers
At the moment, all subregs defined by the SystemZ target can be modified
independently of the wider register.  E.g. writing to a GR32 does not
change the upper 32 bits of the GR64.  Writing to an FP32 does not change
the lower 32 bits of the FP64.

Hoewver, the upcoming support for the vector extension redefines FP64 as
one half of a V128.  Floating-point operations leave the other half of
a V128 in an unpredictable state, so it's no longer the case that writing
to an FP32 leaves the bits of the underlying register (the V128) alone.
I'd prefer to have separate subreg_ names for this situation, so that
it's obvious at a glance whether we're talking about a subreg that leaves
the other parts of the register alone.

No behavioral change intended.

Patch originally by Richard Sandiford.

llvm-svn: 236433
2015-05-04 17:41:22 +00:00
..
Analysis Fix -Wpessimizing-move warnings by removing std::move calls. 2015-04-30 23:07:00 +00:00
AsmParser [opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposing it into pointee type + address space 2015-04-29 21:22:39 +00:00
Bitcode Don't overflow GCTable 2015-04-30 04:09:41 +00:00
CodeGen ScheduleDAGInstrs should toggle kill flags on bundled instrs. 2015-05-04 16:52:06 +00:00
DebugInfo Fix build. 2015-05-01 20:33:10 +00:00
ExecutionEngine Reapply [RuntimeDyldELF] Fold Placeholder into Addend 2015-05-01 20:21:45 +00:00
Fuzzer Removing a spurious space; NFC. 2015-04-06 16:09:13 +00:00
IR [opaque pointer type] Store the value type of an alloca 2015-04-29 23:00:35 +00:00
IRReader
LineEditor
Linker [opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposing it into pointee type + address space 2015-04-29 21:22:39 +00:00
LTO LTO: Add API to choose whether to embed uselists 2015-04-27 23:38:54 +00:00
MC [Hexagon] Adding expression MC emission and removing XFAIL from test that hits this code path. 2015-05-01 21:14:21 +00:00
Object Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
Option Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
Passes
ProfileData Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
Support Replace windows_error calls with mapWindowsError. 2015-05-04 04:48:10 +00:00
TableGen [TableGen] Replace 'static_cast' with 'cast'. 2015-05-04 01:35:42 +00:00
Target [SystemZ] Reclassify f32 subregs of f64 registers 2015-05-04 17:41:22 +00:00
Transforms InstrProf: Instrumenter support for setting profile output from command line 2015-04-30 23:49:23 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile