| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Original message:
Get rid of the ifdefs in TargetLowering.
Introduce a new API used only by GlobalISel: CallLowering.
This API will contain target hooks dedicated to call lowering.
llvm-svn: 260998
|
| |
|
|
|
|
|
| |
It was already the one "destroying" the source module, now the API
reflects that.
llvm-svn: 260989
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
CopyToReg nodes don't support FrameIndex operands. Other targets select
the FI to some LEA-like instruction, but since we don't have that, we
need to insert some kind of instruction that can take an FI operand and
produces a value usable by CopyToReg (i.e. in a vreg). So insert a dummy
copy_local between Op and its FI operand. This results in a redundant
copy which we should optimize away later (maybe in the post-FI-lowering
peephole pass).
Differential Revision: http://reviews.llvm.org/D17213
llvm-svn: 260987
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This change renames output operand for VOP instructions from dst to vdst. This is needed to enable decoding named operands for disassembler.
Reviewers: vpykhtin, tstellarAMD, arsenm
Subscribers: arsenm, llvm-commits, nhaustov
Projects: #llvm-amdgpu-spb
Differential Revision: http://reviews.llvm.org/D16920
llvm-svn: 260986
|
| |
|
|
|
|
| |
The root issue appears to be a confusion around what makeNoWrapRegion actually does. It seems likely we need two versions of this function with slightly different semantics.
llvm-svn: 260981
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D16877
llvm-svn: 260979
|
| |
|
|
|
|
|
|
|
|
| |
WebAssembly doesn't require full RPO; topological sorting is sufficient and
can preserve more of the MachineBlockPlacement ordering. Unfortunately, this
still depends a lot on heuristics, because while we use the
MachineBlockPlacement ordering as a guide, we can't use it in places where
it isn't topologically ordered. This area will require further attention.
llvm-svn: 260978
|
| |
|
|
|
|
| |
overflow. However, the other bitfield requires a signed value (it supports negative offsets), so it is slightly better to retain a signed 1-bit bitfield and use -1 instead of 1. Silences an MSVC warning.
llvm-svn: 260973
|
| |
|
|
|
|
|
| |
http://lab.llvm.org:8011/builders/lldb-x86-windows-msvc2015/builds/15436/steps/build/logs/stdio
http://bb.pgr.jp/builders/msbuild-llvmclang-x64-msc18-DA/builds/961/steps/build_llvm/logs/stdio
llvm-svn: 260972
|
| |
|
|
|
|
|
|
| |
This avoids some complications updating LiveIntervals to be aware of the new
register lifetimes, because we can just compute new intervals from scratch
rather than describe how the old ones have been changed.
llvm-svn: 260971
|
| |
|
|
|
|
|
|
|
|
| |
Original commit message:
[readobj] Dump DT_JMPREL relocations when outputting dynamic relocations.
The bits of r260488 it depends on have been committed.
llvm-svn: 260970
|
| |
|
|
| |
llvm-svn: 260968
|
| |
|
|
|
|
|
|
|
| |
This requires making an error message a bit more generic, but that seems
a reasonable tradeoff.
Extracted from r260488 but simplified a bit.
llvm-svn: 260967
|
| |
|
|
|
|
|
|
| |
This reduces indentation in preparation to adding a bit more code to it.
Extracted from r260488.
llvm-svn: 260963
|
| |
|
|
|
|
|
|
|
|
|
| |
Original messages:
Revert "[readobj] Handle ELF files with no section table or with no program headers."
Revert "[readobj] Dump DT_JMPREL relocations when outputting dynamic relocations."
r260489 depends on r260488 and among other issues r260488 deleted error
handling code.
llvm-svn: 260962
|
| |
|
|
|
|
|
|
|
|
| |
Add a missing check for a type of address displacement operand of the load/store instruction being a candidate for LEA substitution.
Ref: https://llvm.org/bugs/show_bug.cgi?id=26575
Differential Revision: http://reviews.llvm.org/D17261
llvm-svn: 260959
|
| |
|
|
|
|
|
|
| |
Once a pointer is turned into a reference it cannot be nullptr, clang
rightfully warns about this assert being a tautology. Put the assert
before the reference is created.
llvm-svn: 260949
|
| |
|
|
|
|
| |
C API test
llvm-svn: 260947
|
| |
|
|
| |
llvm-svn: 260943
|
| |
|
|
| |
llvm-svn: 260942
|
| |
|
|
| |
llvm-svn: 260941
|
| |
|
|
| |
llvm-svn: 260940
|
| |
|
|
| |
llvm-svn: 260939
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Extending findExistingExpansion can use existing value in ExprValueMap.
This patch gives 0.3~0.5% performance improvements on
benchmarks(test-suite, spec2000, spec2006, commercial benchmark)
Reviewers: mzolotukhin, sanjoy, zzheng
Differential Revision: http://reviews.llvm.org/D15559
llvm-svn: 260938
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This consist in variosu addition to the C API:
LLVMTargetDataRef LLVMGetModuleDataLayout(LLVMModuleRef M);
void LLVMSetModuleDataLayout(LLVMModuleRef M, LLVMTargetDataRef DL);
LLVMTargetDataRef LLVMCreateTargetMachineData(LLVMTargetMachineRef T);
Reviewers: joker.eph, Wallbraker, echristo
Subscribers: axw
Differential Revision: http://reviews.llvm.org/D17255
llvm-svn: 260936
|
| |
|
|
| |
llvm-svn: 260935
|
| |
|
|
| |
llvm-svn: 260934
|
| |
|
|
| |
llvm-svn: 260933
|
| |
|
|
| |
llvm-svn: 260931
|
| |
|
|
| |
llvm-svn: 260928
|
| |
|
|
|
|
|
| |
r260925 introduced a version of the *trim methods which is preferable
when trimming a single kind of character. Update all users in llvm.
llvm-svn: 260926
|
| |
|
|
|
|
|
|
|
| |
Add support for trimming a single kind of character from a StringRef.
This makes the common case of trimming null bytes much neater. It's also
probably a bit speedier too, since it avoids creating a std::bitset in
find_{first,last}_not_of.
llvm-svn: 260925
|
| |
|
|
| |
llvm-svn: 260924
|
| |
|
|
| |
llvm-svn: 260923
|
| |
|
|
|
|
|
| |
Introduce a new API used only by GlobalISel: CallLowering.
This API will contain target hooks dedicated to call lowering.
llvm-svn: 260922
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: The name is confusing as it matche another method on the module.
Reviewers: joker.eph, Wallbraker, echristo
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D17283
llvm-svn: 260920
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: It's red, it's dead.
Reviewers: joker.eph, Wallbraker, echristo
Subscribers: llvm-commits, axw
Differential Revision: http://reviews.llvm.org/D17282
llvm-svn: 260919
|
| |
|
|
| |
llvm-svn: 260918
|
| |
|
|
|
|
|
|
| |
locality and code size from SP/FP offset encoding.
Differential Revision: http://reviews.llvm.org/D15393
llvm-svn: 260917
|
| |
|
|
| |
llvm-svn: 260916
|
| |
|
|
| |
llvm-svn: 260915
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch avoids the initial memset at the cost of making iterators
slightly more complex. This should be beneficial as most SmallPtrSets
hold no or only a few elements, while iterating over them is less
common.
Differential Revision: http://reviews.llvm.org/D16672
llvm-svn: 260913
|
| |
|
|
|
|
|
|
|
| |
We always clear the unused bits in the most signifant word so there is
no need to mask them out in countLeadingZerosSlowCase().
Differential Revision: http://reviews.llvm.org/D16621
llvm-svn: 260911
|
| |
|
|
| |
llvm-svn: 260910
|
| |
|
|
|
|
|
| |
The variable was made dead in NDEBUG by r260901, but the assert
was redundant anyway: get rid of both.
llvm-svn: 260908
|
| |
|
|
| |
llvm-svn: 260907
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an updated version which fixes a bug that happened with
uses tied to an earlyclobber operand which end at an unusual slotindex.
If two definitions write to independent subregisters then they can be
put in any order. LiveIntervalAnalysis::handleMove() did not support
this previously because it looks like moving a definition of a vreg past
another one.
This is a modified version of a patch proposed (two years ago) by
Vincent Lejeune! This version does not touch the read-undef flags and is
extended for the case of moving a subregister def behind all uses - this
can happen for subregister defs that are completely unused.
Differential Revision: http://reviews.llvm.org/D9067
llvm-svn: 260906
|
| |
|
|
| |
llvm-svn: 260905
|
| |
|
|
|
|
|
| |
The abort on error behaviour is unpractical for debugger and unittest
usage.
llvm-svn: 260904
|
| |
|
|
| |
llvm-svn: 260903
|