| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
respect the debug location of comparisons in jumps."
This reverts commit r227488 as it was failing ARM bots.
llvm-svn: 227600
|
|
|
|
| |
llvm-svn: 227598
|
|
|
|
|
|
|
| |
In the case of an invalid FPU name, place the caret at the name rather than FPU
directive.
llvm-svn: 227595
|
|
|
|
| |
llvm-svn: 227588
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FPU directive permits the user to switch the target FPU, enabling
instructions that would be otherwise unavailable. However, when configuring the
new subtarget features, we would not enable the implied functions for newer
FPUs. This would result in invalid rejection of valid input. Ensure that we
inherit the implied FPU functionality when enabling newer versions of the FPU.
Fortunately, these are mostly hierarchical, unlike the CPUs.
Addresses PR22395.
llvm-svn: 227584
|
|
|
|
| |
llvm-svn: 227582
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of using InstAlias.
Summary:
This is needed by the .cprestore assembler directive.
This directive needs to be able to insert an LW instruction after every JALR replacement of a JAL pseudo-instruction
(and never after a JALR which has NOT been a result of a pseudo-instruction replacement).
The problem with using InstAlias for these is that after it replaces the pseudo-instruction, we can't find out if the resulting JALR instruction
was generated by an InstAlias or not, so we don't know whether or not to insert our LW instruction.
By replacing it manually, we know when the pseudo-instruction replacement happens and we can insert the LW instruction correctly.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: emaste, llvm-commits
Differential Revision: http://reviews.llvm.org/D5601
llvm-svn: 227568
|
|
|
|
|
|
|
|
| |
use "DAG.getUNDEF(MVT::v8i8)" to get all zero vector.
Patch by Wei-cheng Wang.
llvm-svn: 227550
|
|
|
|
| |
llvm-svn: 227548
|
|
|
|
| |
llvm-svn: 227547
|
|
|
|
| |
llvm-svn: 227546
|
|
|
|
|
|
| |
for the target dependent one.
llvm-svn: 227542
|
|
|
|
|
|
| |
upon as an argument and store/use that in the entire function.
llvm-svn: 227541
|
|
|
|
| |
llvm-svn: 227539
|
|
|
|
|
|
| |
version. Update NVPTXInstrInfo accordingly.
llvm-svn: 227538
|
|
|
|
|
|
| |
accordingly.
llvm-svn: 227535
|
|
|
|
| |
llvm-svn: 227531
|
|
|
|
| |
llvm-svn: 227530
|
|
|
|
| |
llvm-svn: 227529
|
|
|
|
| |
llvm-svn: 227520
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the large code model, we now put __chkstk in %r11 before calling it.
Refactor the code so that we only do this once. Simplify things by using
__chkstk_ms instead of __chkstk on cygming. We already use that symbol
in the prolog emission, and it simplifies our logic.
Second half of PR18582.
llvm-svn: 227519
|
|
|
|
|
|
| |
MSP430 backend.
llvm-svn: 227517
|
|
|
|
| |
llvm-svn: 227516
|
|
|
|
| |
llvm-svn: 227514
|
|
|
|
|
|
| |
that's actually sitting on the target machine.
llvm-svn: 227513
|
|
|
|
|
|
|
|
|
| |
calls that don't take a Function argument from Mips. Notable
exceptions: the AsmPrinter and MipsTargetObjectFile. The
latter needs to be fixed, and the former will be fixed when the
general AsmPrinter changes happen.
llvm-svn: 227512
|
|
|
|
|
|
|
|
|
| |
This is just an alias for CALL64pcrel32, and we can just use that opcode
with explicit defs in the MI.
No functionality change.
llvm-svn: 227508
|
|
|
|
|
|
|
|
|
|
| |
These are needed so this pass will produce output when
e.g. -print-after-all is used.
Phabricator Review: http://reviews.llvm.org/D7264
Patch by Geoff Berry <gberry@codeaurora.org>!
llvm-svn: 227506
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
win64: Call __chkstk through a register with the large code model
Fixes half of PR18582. True dynamic allocas will still have a
CALL64pcrel32 which will fail.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D7267
llvm-svn: 227503
|
|
|
|
| |
llvm-svn: 227498
|
|
|
|
| |
llvm-svn: 227495
|
|
|
|
| |
llvm-svn: 227493
|
|
|
|
|
|
| |
debug location of comparisons in jumps.
llvm-svn: 227488
|
|
|
|
|
|
|
|
|
| |
Add tests for the various combines. This should
always be at least cycle neutral on all subtargets for f64,
and faster on some. For f32 we should prefer selecting
v_mad_f32 over v_fma_f32.
llvm-svn: 227484
|
|
|
|
| |
llvm-svn: 227483
|
|
|
|
| |
llvm-svn: 227482
|
|
|
|
|
|
|
|
|
| |
The use of the DbgLoc in FastISel is probably something we should fix.
It's prone to leaking the wrong location into instructions - we should
have a clear chain of custody from the debug location of an IR
Instruction to that of a MachineInstr to avoid such leakage.
llvm-svn: 227481
|
|
|
|
|
|
|
|
|
|
|
|
| |
Any code creating an MCSectionELF knows ELF and already provides the flags.
SectionKind is an abstraction used by common code that uses a plain
MCSection.
Use the flags to compute the SectionKind. This removes a lot of
guessing and boilerplate from the MCSectionELF construction.
llvm-svn: 227476
|
|
|
|
| |
llvm-svn: 227474
|
|
|
|
| |
llvm-svn: 227463
|
|
|
|
| |
llvm-svn: 227462
|
|
|
|
|
|
| |
The schedule model is not complete yet, and could be improved.
llvm-svn: 227461
|
|
|
|
| |
llvm-svn: 227460
|
|
|
|
|
|
|
|
|
|
|
| |
For large stack offsets the compiler generates multiple immediate mode
sub/add instructions in the prologue/epilogue. This patch makes the
compiler place the final amount to be added/subtracted into a register,
which is then added/substracted with a single operation.
Differential Revision: http://reviews.llvm.org/D7226
llvm-svn: 227458
|
|
|
|
|
|
| |
i32 instead of i1.
llvm-svn: 227457
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch by Nemanja Ivanovic.
As was uncovered by the failing test case (when run on non-PPC
platforms), the feature set when compiling with -march=ppc64le was not
being picked up. This change ensures that if the -mcpu option is not
specified, the correct feature set is picked up regardless of whether
we are on PPC or not.
llvm-svn: 227455
|
|
|
|
|
|
|
| |
Only the specific ones (MergeableConst4, MergeableConst8, MergeableConst16) are
handled specially.
llvm-svn: 227440
|
|
|
|
|
|
| |
it crashes as the access to operands array is out of range. This patch adds dedicated decoder method for R6 CACHE_HINT_DESC class that properly handles decoding of these instructions.
llvm-svn: 227430
|
|
|
|
|
|
|
| |
correct subtarget by passing it in during the constructor as
TargetLowering is Subtarget specific.
llvm-svn: 227402
|
|
|
|
|
|
|
| |
correct subtarget by passing it in during the constructor as
TargetLowering is Subtarget specific.
llvm-svn: 227401
|