| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
remove cached or unnecessary TargetMachines.
llvm-svn: 219387
|
|
|
|
|
|
| |
calls to getTargetLowering() with the cached variable.
llvm-svn: 219284
|
|
|
|
|
|
| |
information and update all callers. No functional change.
llvm-svn: 214781
|
|
|
|
| |
llvm-svn: 212966
|
|
|
|
|
|
| |
so make it take one. Fix up all users accordingly.
llvm-svn: 210948
|
|
|
|
|
|
| |
'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves.
llvm-svn: 207511
|
|
|
|
|
|
|
|
|
|
|
|
| |
define below all header includes in the lib/CodeGen/... tree. While the
current modules implementation doesn't check for this kind of ODR
violation yet, it is likely to grow support for it in the future. It
also removes one layer of macro pollution across all the included
headers.
Other sub-trees will follow.
llvm-svn: 206837
|
|
|
|
|
|
| |
instead of comparing to nullptr.
llvm-svn: 206142
|
|
|
|
|
|
|
| |
The code added nothing but potentially disabled move semantics and made
types non-trivially copyable.
llvm-svn: 203563
|
|
|
|
|
|
| |
class.
llvm-svn: 203339
|
|
|
|
|
|
| |
Remove the old functions.
llvm-svn: 202636
|
|
|
|
| |
llvm-svn: 191610
|
|
|
|
| |
llvm-svn: 186312
|
|
|
|
|
|
| |
size.
llvm-svn: 186274
|
|
|
|
|
|
|
| |
Caching it as a pointer allows us to reset it if the TargetMachine object
changes.
llvm-svn: 183361
|
|
|
|
|
|
|
| |
Remove the old IR ordering mechanism and switch to new one. Fix unit
test failures.
llvm-svn: 182704
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 06091513c283c863296f01cc7c2e86b56bb50d02.
The code is obviously wrong, but the trivial fix causes
inefficient code generation on X86. Somebody with more
knowledge of the code needs to take a look here.
Signed-off-by: Christian König <christian.koenig@amd.com>
llvm-svn: 177529
|
|
|
|
|
|
|
| |
TargetOpcodes need to be treaded as Machine- and not ISD-Opcodes.
Signed-off-by: Christian König <christian.koenig@amd.com>
llvm-svn: 177518
|
|
|
|
| |
llvm-svn: 176638
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rdar:13370002 [pre-RA-sched] assertion: released too many times
I tracked this down to an earlier hack that is no longer applicable
and interfered with normal scheduler logic. With the changes in
r176037, it was causing an instruction to be scheduled multiple times.
I have an external test case that I tried hard to reduce and
failed. I can't even reproduce with llc.
llvm-svn: 176636
|
|
|
|
|
|
| |
Fixes rdar:13279013: scheduler was blowing up on select instructions.
llvm-svn: 176037
|
|
|
|
|
|
| |
of ScheduleDAGRRList
llvm-svn: 173833
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.
There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.
The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.
I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).
I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.
llvm-svn: 171366
|
|
|
|
|
|
|
|
| |
EVT.
Accordingly, change RegDefIter to contain MVTs instead of EVTs.
llvm-svn: 170140
|
|
|
|
| |
llvm-svn: 169854
|
|
|
|
|
|
|
|
| |
EVT.
Accordingly, change RegDefIter to contain MVTs instead of EVTs.
llvm-svn: 169838
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131
|
|
|
|
|
|
|
|
| |
This adds support for weak DAG edges to the general scheduling
infrastructure in preparation for MachineScheduler support for
heuristics based on weak edges.
llvm-svn: 167738
|
|
|
|
|
|
|
| |
This is in preparation for adding "weak" DAG edges, but generally
simplifies the design.
llvm-svn: 167435
|
|
|
|
| |
llvm-svn: 165402
|
|
|
|
|
|
|
|
| |
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)"
No functional change. Update r163339.
llvm-svn: 163653
|
|
|
|
|
|
| |
No functional change.
llvm-svn: 163339
|
|
|
|
|
|
|
|
| |
allocations (allocas). Allocas are known to be
disjoint if they are marked by disjoint lifetime markers (@llvm.lifetime.XXX intrinsics).
llvm-svn: 163299
|
|
|
|
| |
llvm-svn: 160621
|
|
|
|
|
|
|
|
| |
itinerary.
Use ILP heuristics for long latency instrs if no scoreboard exists.
llvm-svn: 157978
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
No functional change intended.
Sorry for the churn. The iterator classes are supposed to help avoid
giant commits like this one in the future. The TableGen-produced
register lists are getting quite large, and it may be necessary to
change the table representation.
This makes it possible to do so without changing all clients (again).
llvm-svn: 157854
|
|
|
|
| |
llvm-svn: 157377
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The getPointerRegClass() hook can return register classes that depend on
the calling convention of the current function (ptr_rc_tailcall).
So far, we have been able to infer the calling convention from the
subtarget alone, but as we add support for multiple calling conventions
per target, that no longer works.
Patch by Yiannis Tsiouris!
llvm-svn: 156328
|
|
|
|
|
|
| |
rdar://11096639
llvm-svn: 153270
|
|
|
|
| |
llvm-svn: 152301
|
|
|
|
|
|
|
| |
We had half the API with one convention, half with another. Now was a
good time to clean it up.
llvm-svn: 152255
|
|
|
|
|
|
| |
ScheduleDAG will not refer to the scheduled instruction sequence.
llvm-svn: 152205
|
|
|
|
|
|
| |
ScheduleDAG will not refer to the scheduled instruction sequence.
llvm-svn: 152204
|
|
|
|
| |
llvm-svn: 152001
|
|
|
|
|
|
|
|
|
| |
The scheduler will sometimes check the implicit-def list on instructions
to properly handle pre-colored DAG edges.
Also check any register mask operands for physreg clobbers.
llvm-svn: 150428
|
|
|
|
|
|
| |
<rdar://problem/10460321>. No testcase because this is very sensitive to scheduling.
llvm-svn: 146087
|
|
|
|
|
|
| |
it's rather delicate.
llvm-svn: 146083
|
|
|
|
|
|
| |
that he isn't using these any more, so just delete them.
llvm-svn: 146076
|
|
|
|
| |
llvm-svn: 144747
|
|
|
|
|
|
|
|
|
|
|
|
| |
registers is used
by later instructions.
Only done for DEC64m right now.
Fixes <rdar://problem/6172640>
llvm-svn: 144705
|