| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
is constructing from as an input and keep the same unique identifier.
We can use this to connect items which must stay in the .o file
(e.g. pubnames and pubtypes) to the skeleton cu rather than having
duplicate unique numbers for the sections and needing to do lookups
based on MDNode.
llvm-svn: 189293
|
| |
|
|
| |
llvm-svn: 189292
|
| |
|
|
|
|
| |
can get it via the MDNode that's passed in. Save that instead.
llvm-svn: 189291
|
| |
|
|
| |
llvm-svn: 189290
|
| |
|
|
|
|
|
|
|
| |
it by default under linux or when we're trying to keep compatibility
with old gdb versions.
Fix testcase for option name change.
llvm-svn: 189289
|
| |
|
|
| |
llvm-svn: 189288
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This follows from computeKeyFunction having:
// Template instantiations don't have key functions,see Itanium C++ ABI 5.2.6.
// Same behavior as GCC.
TemplateSpecializationKind TSK = RD->getTemplateSpecializationKind();
if (TSK == TSK_ImplicitInstantiation ||
TSK == TSK_ExplicitInstantiationDefinition)
return 0;
llvm-svn: 189287
|
| |
|
|
|
|
|
| |
Thanks David for his suggestion. This commit updates testing cases
to have more specific CHECKs.
llvm-svn: 189286
|
| |
|
|
|
|
|
|
|
|
|
| |
The builder inserts from before the insert point,
not after, so this would insert before the last
instruction in the bundle instead of after it.
I'm not sure if this can actually be a problem
with any of the current insertions.
llvm-svn: 189285
|
| |
|
|
|
|
| |
attribute where it is not processed as part of the typical Sema attribute functionality. Specifying this attribute as being "ignored" because there is no sema handler for it as a Decl attribute, and no AST node generated for it.
llvm-svn: 189284
|
| |
|
|
|
|
|
| |
Paired with llvm r189282.
Update testing cases to handle an extra field for DICompositeType.
llvm-svn: 189283
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DICompositeType will have an identifier field at position 14. For now, the
field is set to null in DIBuilder.
For DICompositeTypes where the template argument field (the 13th field)
was optional, modify DIBuilder to make sure the template argument field is set.
Now DICompositeType has 15 fields.
Update DIBuilder to use NULL instead of "i32 0" for null value of a MDNode.
Update verifier to check that DICompositeType has 15 fields and the last
field is null or a MDString.
Update testing cases to include an extra field for DICompositeType.
The identifier field will be used by type uniquing so a front end can
genearte a DICompositeType with a unique identifer.
llvm-svn: 189282
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
profitable.
This patch enables unrolling of loops when vectorization is legal but not profitable.
We add a new class InnerLoopUnroller, that extends InnerLoopVectorizer and replaces some of the vector-specific logic with scalars.
This patch does not introduce any runtime regressions and improves the following workloads:
SingleSource/Benchmarks/Shootout/matrix -22.64%
SingleSource/Benchmarks/Shootout-C++/matrix -13.06%
External/SPEC/CINT2006/464_h264ref/464_h264ref -3.99%
SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding -1.95%
llvm-svn: 189281
|
| |
|
|
| |
llvm-svn: 189280
|
| |
|
|
| |
llvm-svn: 189279
|
| |
|
|
|
|
|
|
|
| |
The change was made for readability, as the PropagationInfo objects don't
always contain a status. This is submitted as a separate patch because it
touches a lot of lines and I don't want it cluttering up the next patch.
Patch by chris.wailes@gmail.com.
llvm-svn: 189278
|
| |
|
|
|
|
|
|
|
|
| |
CodeGenFunction is run on only one function - a new object is made for
each new function. I would add an assertion/flag to this effect, but
there's an exception: ObjC properties involve emitting helper functions
that are all emitted by the same CodeGenFunction object, so such a check
is not possible/correct.
llvm-svn: 189277
|
| |
|
|
| |
llvm-svn: 189276
|
| |
|
|
|
|
|
|
|
| |
Now that fast-isel is in better shape, we can enable the machine
verifier for these tests, too.
rdar://12594152
llvm-svn: 189275
|
| |
|
|
|
|
|
|
|
| |
Get the register class right for the TST instruction. This keeps the
machine verifier happy, enabling us to turn it on for another test.
rdar://12594152
llvm-svn: 189274
|
| |
|
|
| |
llvm-svn: 189273
|
| |
|
|
| |
llvm-svn: 189272
|
| |
|
|
| |
llvm-svn: 189271
|
| |
|
|
|
|
|
|
|
| |
Constant pool and global value reference instructions need more
restricted register classes than plain GPR.
rdar://12594152
llvm-svn: 189270
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The create machine code wasn't properly in SSA, which the machine verifier
properly complains about. Now that fast-isel is closer to verifier clean,
errors like this show up more clearly.
Additionally, the Thumb pseudo tPICADD was used for both ARM and Thumb
mode functions, which is obviously wrong. Fix that along the way.
Test case is part of the following commit which will finish making an
additional fast-isel test verifier clean an enable it for the
regression test suite. This commit is separate since its not just
a verifier cleanup, but an actual correctness issue.
rdar://12594152 (for the fast-isel verifier aspects)
llvm-svn: 189269
|
| |
|
|
|
|
|
|
|
|
| |
Added a command line option "-remove-change-desc-files" that triggers
the deletion of the change description files after merging and applying
regardless of success.
Differential Revision: http://llvm-reviews.chandlerc.com/D1492
llvm-svn: 189268
|
| |
|
|
|
|
| |
Patch by Jesús Serrano García.
llvm-svn: 189267
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Incremental improvement to fast-isel for PPC64. This allows us to
select on ret, sext, and zext. Filling in sext/zext improves some of
the existing logic in handling compare-immediates that needed extends.
A simplified return convention for fast-isel is also added to the
PPC64 calling conventions. All call/return processing for DAG
selection is handled with custom code, so there isn't an existing CC
to rely on here. The include of PPCGenCallingConv.inc causes compiler
warnings due to the 32-bit calling conventions that are not used, so
the dummy function "usePPC32CCs()" is added here to silence those.
Test cases for the return and extend logic are added.
llvm-svn: 189266
|
| |
|
|
| |
llvm-svn: 189265
|
| |
|
|
| |
llvm-svn: 189264
|
| |
|
|
| |
llvm-svn: 189250
|
| |
|
|
| |
llvm-svn: 189249
|
| |
|
|
| |
llvm-svn: 189248
|
| |
|
|
| |
llvm-svn: 189234
|
| |
|
|
| |
llvm-svn: 189233
|
| |
|
|
|
|
| |
libc++ already fixed them.
llvm-svn: 189232
|
| |
|
|
| |
llvm-svn: 189231
|
| |
|
|
|
|
| |
It looked misplaced in the main CMakeLists.txt file.
llvm-svn: 189230
|
| |
|
|
| |
llvm-svn: 189229
|
| |
|
|
| |
llvm-svn: 189228
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If we have a binary operation like ISD:ADD, we can set the result type
equal to the result type of one of its operands rather than using
TargetLowering::getPointerTy().
Also, any use of DAG.getIntPtrConstant(C) as an operand for a binary
operation can be replaced with:
DAG.getConstant(C, OtherOperand.getValueType());
llvm-svn: 189227
|
| |
|
|
| |
llvm-svn: 189226
|
| |
|
|
| |
llvm-svn: 189225
|
| |
|
|
| |
llvm-svn: 189224
|
| |
|
|
| |
llvm-svn: 189223
|
| |
|
|
| |
llvm-svn: 189222
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds minimal support to the SelectionDAG for handling address spaces
with different pointer sizes. The SelectionDAG should now correctly
lower pointer function arguments to the correct size as well as generate
the correct code when lowering getelementptr.
This patch also updates the R600 DataLayout to use 32-bit pointers for
the local address space.
v2:
- Add more helper functions to TargetLoweringBase
- Use CHECK-LABEL for tests
llvm-svn: 189221
|
| |
|
|
|
|
|
|
|
|
|
| |
Xcode always puts executable targets in the directory
bin/<Config>. When building separate LLVM and Clang projects for
Xcode, this prevents the CMake-configured project for Clang from
finding llvm-tblgen. Add a symlink so that tblgen executables are
always available in bin/ (regardless of the configuration LLVM is
built with).
llvm-svn: 189220
|
| |
|
|
|
|
|
|
|
|
|
| |
- __func__ or __FUNCTION__ returns captured statement's parent
function name, not the one compiler generated.
Differential Revision: http://llvm-reviews.chandlerc.com/D1491
Reviewed by bkramer
llvm-svn: 189219
|
| |
|
|
| |
llvm-svn: 189218
|