- Jul 20, 2014
-
-
Manuel Jacob authored
Summary: This patch introduces two new iterator ranges and updates existing code to use it. No functional change intended. Test Plan: All tests (make check-all) still pass. Reviewers: dblaikie Reviewed By: dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4481 llvm-svn: 213474
-
Matt Arsenault authored
llvm-svn: 213473
-
Matt Arsenault authored
llvm-svn: 213472
-
Matt Arsenault authored
This probably was killed by some generic DAGCombiner improvements in checking the TargetBooleanContents instead of just 1. llvm-svn: 213471
-
NAKAMURA Takumi authored
llvm-svn: 213466
-
NAKAMURA Takumi authored
llvm-svn: 213465
-
- Jul 19, 2014
-
-
David Blaikie authored
Sure up ownership passing of the PBQPBuilder by passing unique_ptrs by value rather than lvalue reference. Also removes an unnecessary '.release()' that should've been a std::move anyway. (I'm on a hunt for '.release()' calls) llvm-svn: 213464
-
Saleem Abdulrasool authored
This adds an optional parameter to the EmitSymbolValue method in MCStreamer to permit emitting a symbol value as a section relative value. This is to cover the use in MCDwarf which should not really know about how to emit a section relative value for a given target. This addresses post-review comments from Eric Christopher in SVN r213275. llvm-svn: 213463
-
Matt Arsenault authored
llvm-svn: 213461
-
Matt Arsenault authored
Seems like a bug in either GCC or clang, but I'm not sure which is right. llvm-svn: 213460
-
Matt Arsenault authored
llvm-svn: 213459
-
Matt Arsenault authored
These instructions can only take a limited input range, and return the constant value 1 out of range. We should do range reduction to be able to process arbitrary values. Use a FRACT instruction after normalization to achieve this. Also add a test for constant folding with the lowered code with unsafe-fp-math enabled. v2: use DAG lowering instead of intrinsic, adapt test v3: calculate constant, fold pattern into instruction definition v4: misc style fixes, add sin-fold testcase, cosmetics Patch by Grigori Goronzy llvm-svn: 213458
-
Matt Arsenault authored
llvm-svn: 213456
-
Matt Arsenault authored
I'm not sure if these have any effect right now. llvm-svn: 213455
-
Hal Finkel authored
IRBuilder has CreateAligned(Load|Store) functions; use them and we don't need to make a second call to setAlignment. No functionality change intended. llvm-svn: 213453
-
Hal Finkel authored
There are some kinds of metadata that are safe to propagate from the scalar instructions to the vector instructions (fpmath and tbaa currently). Regarding TBAA, one might worry about propagating it on if-converted loads and stores, because the metadata might have had a control dependency on the condition, and thus actually aliased with some other non-speculated memory access when the condition was false. However, this would be caught by the runtime overlap checks. llvm-svn: 213452
-
Andrea Di Biagio authored
Function @test3c should check that the DAGCombiner is able to fold a pair of shuffles into a new shuffle with a permute mask of <6,7,2,3>. However, one of the shuffles in @test3c had a wrong permute mask; this prevented the DAGCombiner from folding the shuffles into the expected result. Now that the shuffle mask is fixed, the backend correctly folds the two shuffles in function @test3c into a single movhlps instruction. llvm-svn: 213451
-
Hal Finkel authored
All of the other similar functions in that part of the file look through addrspacecast in addition to bitcast, and I see no reason why stripAndAccumulateInBoundsConstantOffsets shouldn't do so also. llvm-svn: 213449
-
NAKAMURA Takumi authored
llvm-svn: 213448
-
Hal Finkel authored
Make Value::isDereferenceablePointer handle offsets to pointer types with dereferenceable attributes When we have a parameter (or call site return) with a dereferenceable attribute, it can specify the size of an array pointed to by that parameter. If we have a value for which we can accumulate a constant offset to such a parameter, then we can use that offset in a direct comparison with the size specified by the dereferenceable attribute. This enables us to handle cases like this: int foo(int a[static 3]) { return a[2]; /* this is always dereferenceable */ } llvm-svn: 213447
-
Saleem Abdulrasool authored
When performing a dynamic stack adjustment without optimisations, we would mark SP as def and R4 as kill. This occurred as part of the expansion of a WIN__CHKSTK SDNode which indicated the proper handling of SP and R4. The result would be that we would double define SP as part of an operation, which is obviously incorrect. Furthermore, the VTList for the chain had an incorrect parameter type of i32 instead of Other. Correct these to permit proper lowering of __builtin_alloca at -O0. llvm-svn: 213442
-
David Blaikie authored
It's also possible to just write "= nullptr", but there's some question of whether that's as readable, so I leave it up to authors to pick which they prefer for now. If we want to discuss standardizing on one or the other, we can do that at some point in the future. llvm-svn: 213438
-
Lang Hames authored
getBasicRelocationEntry to use this rather than 'memcpy' to get the relocation addend. Targets with non-trivial addend encodings (E.g. AArch64) can override decodeAddend to handle immediates with interesting encodings. No functional change. llvm-svn: 213435
-
Eric Christopher authored
Revert "Reapply "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself."""" After a successful build it seems to have come back on a later build. This reverts commit r213391. llvm-svn: 213432
-
Eric Christopher authored
a) Move the replacement level decision to the target machine. b) Create additional subtargets at the TargetMachine level to cache and make replacement easy. c) Make the mips16 features obvious. d) Remove the override logic as it no longer does anything. e) Have MipsModuleDAGToDAGISel take only the target machine. f) Have the constant islands pass grab the current subtarget from the MachineFunction (via the TargetMachine) instead of caching it. g) Unconditionally initialize TLOF. h) Remove the old complicated subtarget based resetting and replace it with simple conditionals. llvm-svn: 213430
-
Eric Christopher authored
during initialization. llvm-svn: 213429
-
Hal Finkel authored
This adds initial support for PPC32 ELF PIC (Position Independent Code; the -fPIC variety), thus rectifying a long-standing deficiency in the PowerPC backend. Patch by Justin Hibbits! llvm-svn: 213427
-
Eric Christopher authored
have target lowering take the subtarget explicitly. llvm-svn: 213426
-
Eric Christopher authored
rather than the TargetMachine. llvm-svn: 213425
-
Eric Christopher authored
so doesn't need to be a pointer, but a reference. llvm-svn: 213422
-
Eric Christopher authored
two reasons: a) we're already caching the target machine which contains it, b) which relocation model you get is dependent upon whether or not you ask before MCCodeGenInfo is constructed on the target machine, so avoid any latent issues there. llvm-svn: 213420
-
Eric Christopher authored
llvm-svn: 213419
-
Eric Christopher authored
llvm-svn: 213418
-
David Blaikie authored
There's nothing else these should ever be... llvm-svn: 213417
-
- Jul 18, 2014
-
-
Mark Heffernan authored
llvm-svn: 213414
-
Mark Heffernan authored
llvm-svn: 213412
-
Eric Christopher authored
llvm-svn: 213409
-
Lang Hames authored
RelocationEntry. No test case yet, as this primarily hits GOT entries, which RuntimeDyldChecker can't examine yet. I'm actively working on features that will enable us to test this. llvm-svn: 213408
-
Eric Christopher authored
manager for mips, and early exit if we don't want to do anything because of the current subtarget. llvm-svn: 213407
-
Eli Bendersky authored
llvm-svn: 213406
-