| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
version of EmitInstruction.
llvm-svn: 171437
|
| |
|
|
|
|
| |
increasing the ILP. At the moment this feature is disabled by default and this commit should not cause any functional changes.
llvm-svn: 171436
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most IMPLICIT_DEF instructions are removed by the ProcessImplicitDefs
pass, and a few are reinserted by PHIElimination when a PHI argument is
<undef>.
RegisterCoalescer was assuming that all IMPLICIT_DEF live ranges look
like those created by PHIElimination, and that their live range never
leaves the basic block.
The PR14732 test case does tricks with PHI nodes that causes a longer
IMPLICIT_DEF live range to appear. This happens very rarely, but
RegisterCoalescer should be able to handle it.
llvm-svn: 171435
|
| |
|
|
| |
llvm-svn: 171434
|
| |
|
|
| |
llvm-svn: 171429
|
| |
|
|
|
|
|
|
|
|
|
|
| |
sections for debug info. These are some of the dwo sections from the
DWARF5 split debug info proposal. Update the fission-cu.ll testcase
to show what we should be able to dump more of now.
Work in progress: Ultimately the relocations will be gone for the
dwo section and the strings will be a different form (as well as
the rest of the sections will be included).
llvm-svn: 171428
|
| |
|
|
|
|
|
|
|
|
| |
Modify the AttrBuilder class to store the attributes as a set instead of as a
bit mask. The Attribute class will represent only one attribute instead of a
collection of attributes.
This is the wave of the future!
llvm-svn: 171427
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
DAGCombiner::reduceBuildVecConvertToConvertBuildVec() was making two
mistakes:
1. It was checking the legality of scalar INT_TO_FP nodes and then generating
vector nodes.
2. It was passing the result value type to
TargetLoweringInfo::getOperationAction() when it should have been
passing the value type of the first operand.
llvm-svn: 171420
|
| |
|
|
|
|
| |
Patch by Michael M Kuperstein!
llvm-svn: 171414
|
| |
|
|
|
|
| |
- Fix a typo
llvm-svn: 171399
|
| |
|
|
| |
llvm-svn: 171398
|
| |
|
|
|
|
|
|
|
|
| |
code that includes Intrinsics.gen directly.
This never showed up in my testing because the old Intrinsics.gen was
still kicking around in the make build system and was correct there. =[
Thankfully, some of the bots to clean rebuilds and that caught this.
llvm-svn: 171373
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
utils/sort_includes.py script.
Most of these are updating the new R600 target and fixing up a few
regressions that have creeped in since the last time I sorted the
includes.
llvm-svn: 171362
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Aside from moving the actual files, this patch only updates the build
system and the source file comments under lib/... that are relevant.
I'll be updating other docs and other files in smaller subsequnet
commits.
While I've tried to test this, but it is entirely possible that there
will still be some build system fallout.
Also, note that I've not changed the library name itself: libLLVMCore.a
is still the library name. I'd be interested in others' opinions about
whether we should rename this as well (I think we should, just not sure
what it might break)
llvm-svn: 171359
|
| |
|
|
|
|
| |
and RCP.
llvm-svn: 171356
|
| |
|
|
| |
llvm-svn: 171355
|
| |
|
|
| |
llvm-svn: 171352
|
| |
|
|
|
|
| |
and RCP.
llvm-svn: 171351
|
| |
|
|
| |
llvm-svn: 171349
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 171348
|
| |
|
|
|
|
|
|
|
|
|
| |
verbatim with its argument to temporarily undo an optimization.
Specifically these calls return their argument verbatim, as a low-level
optimization. However, this makes high-level optimizations
harder. We undo any uses of this optimization that the front-end
emitted. We redo them later in the contract pass.
llvm-svn: 171346
|
| |
|
|
|
|
|
|
|
| |
that emit what instructions are being visited.
This is a part of a larger effort of adding DEBUG messages to the ARC
Optimizer Backend.
llvm-svn: 171345
|
| |
|
|
| |
llvm-svn: 171340
|
| |
|
|
|
|
| |
and RSQRTPS.
llvm-svn: 171339
|
| |
|
|
| |
llvm-svn: 171338
|
| |
|
|
|
|
| |
funcitonal change intended.
llvm-svn: 171337
|
| |
|
|
|
|
| |
RSQRTPS. VEX-encoded forms already use packed.
llvm-svn: 171336
|
| |
|
|
|
|
|
| |
I'm simplifying this interface as much as I can before merging it with
the new process interface.
llvm-svn: 171334
|
| |
|
|
| |
llvm-svn: 171332
|
| |
|
|
|
|
|
| |
users over to the new one. No sense maintaining this "compatibility"
layer it seems.
llvm-svn: 171331
|
| |
|
|
|
|
|
|
| |
Implement the old API in terms of the new one. This simplifies the
implementation on Windows which can now re-use the self_process's once
initialization.
llvm-svn: 171330
|
| |
|
|
| |
llvm-svn: 171327
|
| |
|
|
|
|
|
| |
The new code is an improved copy of the code I deleted from Analysis/Loads.cpp.
One less compute-constant-gep-offset implementation. yay :)
llvm-svn: 171326
|
| |
|
|
|
|
| |
Hopefully with bugs corrected now.
llvm-svn: 171325
|
| |
|
|
|
|
| |
This reverts r171298. Breaks clang selfhost.
llvm-svn: 171318
|
| |
|
|
|
|
| |
Also add an assert to avoid confusion in the code where is known that C1 <= C2.
llvm-svn: 171310
|
| |
|
|
| |
llvm-svn: 171308
|
| |
|
|
|
|
| |
local implementation
llvm-svn: 171307
|
| |
|
|
| |
llvm-svn: 171306
|
| |
|
|
| |
llvm-svn: 171303
|
| |
|
|
| |
llvm-svn: 171298
|
| |
|
|
|
|
| |
AttrKind value.
llvm-svn: 171294
|
| |
|
|
|
|
|
|
| |
Fix a truly odd namespace qualifier that was flat out wrong in the
process. The fully qualified namespace would have been
llvm::sys::TimeValue, llvm::TimeValue makes no sense.
llvm-svn: 171292
|
| |
|
|
| |
llvm-svn: 171291
|
| |
|
|
| |
llvm-svn: 171290
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The coding style used here is not LLVM's style because this is modeled
after a Boost interface and thus done in the style of a candidate C++
standard library interface. I'll probably end up proposing it as
a standard C++ library if it proves to be reasonably portable and
useful.
This is just the most basic parts of the interface -- getting the
process ID out of it. However, it helps sketch out some of the boiler
plate such as the base class, derived class, shared code, and static
factory function. It also introduces a unittest so that I can
incrementally ensure this stuff works.
However, I've not even compiled this code for Windows yet. I'll try to
fix any Windows fallout from the bots, and if I can't fix it I'll revert
and get someone on Windows to help out. There isn't a lot more that is
mandatory, so soon I'll switch to just stubbing out the Windows side and
get Michael Spencer to help with implementation as he can test it
directly.
llvm-svn: 171289
|
| |
|
|
|
|
|
| |
promoting a store in a loop. This was noticed when working on PR14753,
but isn't directly related.
llvm-svn: 171281
|
| |
|
|
|
|
| |
PR14753
llvm-svn: 171279
|
| |
|
|
| |
llvm-svn: 171272
|