summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-10-16XXX: remove debug prints.struct-divergenceTom Stellard1-2/+0
2015-10-16XXX: UniformTom Stellard2-17/+63
2015-10-16AMDGPU/SI: Add helper function for reading ShaderType attributeTom Stellard4-18/+23
2015-10-15XXX: Rebase fixTom Stellard1-17/+0
2015-10-15XXX:Tom Stellard4-5/+17
2015-10-15XXX: Struct branchTom Stellard1-0/+8
2015-10-15XXX: UniformTom Stellard1-1/+4
2015-10-15XXX: IMprove S)_MOV imm detectionTom Stellard1-1/+13
2015-10-15SCALAR branchingTom Stellard2-1/+29
2015-10-15Revert "XXX: Annotate uniform changes"Tom Stellard1-41/+3
This reverts commit 871bf626cfb3fec5ce258575baf44e10d45a8a84. Conflicts: lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
2015-10-15XXX: Uniform brTom Stellard1-1/+1
2015-10-15XXX: UniformTom Stellard1-0/+110
2015-10-15XXX: Uniform branchingTom Stellard6-15/+53
2015-10-15Correctly initialize SIAnnotateControlFlowTom Stellard3-3/+9
2015-10-15XXX: StructCFG disableTom Stellard2-5/+14
2015-10-15XXX: SCALAR branchTom Stellard1-0/+3
2015-10-15XXX: SCalar branchTom Stellard3-14/+22
2015-10-15XXX: Annotate uniform changesTom Stellard1-4/+50
2015-10-15XXX: Uniform brancingTom Stellard11-2/+98
2015-10-15XXX: DivergenceMetadataTom Stellard1-0/+1
2015-10-15AMDGPU: Move StructurizeCFG pass into PassConfig sub-classesTom Stellard1-3/+4
We may want to do something GCN specifix for this in the future.
2015-10-15AMDGPU: Remove unused address spacesTom Stellard1-2/+0
2015-10-13Instrumentation: Remove ilist iterator implicit conversions, NFCDuncan P. N. Exon Smith9-57/+59
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250186 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13Interpreter: Remove implicit ilist iterator conversions, NFCDuncan P. N. Exon Smith1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250185 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13The issue with the malformed-machos 00000031.a test is that it needed ↵Kevin Enderby1-0/+10
‘-arch x86_64’ flag as it was a Mach-O universal file. The default as to which architecture slice that is dumped without an -arch flag depends on the host architecture and the contents of the universal file. The malformed archive 00000031.a file has both an x86_64 and i386 slice. So for for x86_64 hosts only that slice is dumped, for non-x86_64 hosts, which is many of the bots both slices are dumped. The test is intended to only check that the malformation of the x86_64 which has a non-decimal characters in the size field of the archive header so it no longer crashes. The problem turned out that the i388 slice of the malformed archive had a different malformation which was causing the non-x86_64 bots to get this error: llvm-objdump -macho -disassemble -arch i386 00000031.a Archive : .00000031.a 00000031.a(c_start.o): LLVM ERROR: Symbol name entry points before beginning or past end of file. and causing the test as it was written to fail. So by adding ‘-arch x86_64’ it should correct the test and the malformation on the i388 slice will not be dumped. Also the removal of the malformed-machos mem-crup-0261.macho was not causing the issue so that is put back in. Sorry for the churn on these tests, Kev git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250184 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13InstCombine: Remove ilist iterator implicit conversions, NFCDuncan P. N. Exon Smith8-37/+38
Stop relying on implicit conversions of ilist iterators in LLVMInstCombine. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250183 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13BitcodeReader: Remove ilist iterator implicit conversions, NFCDuncan P. N. Exon Smith1-6/+5
Get LLVMBitReader building without relying on `ilist_iterator` implicit conversions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250181 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[WinEH] Iterate state changes instead of invokesJoseph Tremoulet2-151/+196
Summary: Add an iterator that can walk across blocks and which visits the state transitions rather than state ranges, with explicit transitions to -1 indicating the presence of top-level calls that may throw and cause the current function to unwind to caller. This will simplify code that needs to identify nested try regions. Refactor SEH and C++EH table generation to use the new InvokeStateChangeIterator, and remove the InvokeLabelIterator they were using. Reviewers: majnemer, andrew.w.kaylor, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13623 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250179 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13Fix a couple of comments; NFCXinliang David Li1-6/+6
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250177 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13function names should start with a lower case letter; NFCSanjay Patel4-116/+116
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250174 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13don't repeat function/class/variable names in comments; NFCSanjay Patel1-60/+46
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250162 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[InstCombine][SSE4A] Remove broken INSERTQI range combining optimizationSimon Pilgrim2-130/+4
As discussed in D13348 - the INSERTQI range combining code is wrong in that it confuses the insertion bit index with an extraction bit index. The remaining legal combines are very unlikely (especially once we've converted to shuffles in D13348) so I'm removing the optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250160 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[GlobalsAA] Turn GlobalsAA on again by defaultJames Molloy1-1/+1
Now that all the known faults with GlobalsAA have been fixed, flip the big switch on -enable-non-lto-gmr again. Feel free to pester me with any more bugs found, and don't hesitate to flip the switch back off. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250157 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[GlobalsAA] Don't assume anything about functions that may be overriddenJames Molloy2-2/+26
Weak linkage and friends allow a symbol to be overriden outside the code generator's model, so GlobalsAA shouldn't assume that anything it can compute about such a symbol is valid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250156 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13Test commitChristof Douma1-1/+0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250154 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13Remove unnecessary argument in ipo iteratorMichael Liao1-4/+4
- Otherwise, it won't be compiled if that template is instantiated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250153 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[IndVars] NFC Cleanup.Sanjoy Das1-66/+62
- Rename methods according to the LLVM Coding Style - Merge adjacent anonymous namespace block - Use `auto` in two places git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250152 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13Fix line-ending issue. NFC.Michael Kuperstein1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250151 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[CMake] LLVM_PROFDATA_FILE only works if you're using clang, so we should ↵Chris Bieneman2-1/+9
error out if it is specified when not using clang. Also updated the CMake docs. Based on post-commit review of r250108 from Sean Silvas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250150 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[X86] Mark the AAD and AAM aliases as not valid in 64-bit mode.Craig Topper1-2/+2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250148 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[X86] Change all the i8imm operands in XOP instructions to u8imm so the ↵Craig Topper1-10/+10
parser will check the size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250147 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13Revert 250089 due to bot failure. It failed when building clang itself with PGO.Manman Ren7-222/+5
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250145 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13BitcodeWriter: Stop using implicit ilist iterator conversion, NFCDuncan P. N. Exon Smith2-30/+23
Now LLVMBitWriter compiles without implicit ilist iterator conversions. In these cases, the cleanest thing was to switch to range-based for loops. Since there wasn't much noise I converted sub-loops and parent loops as a drive-by. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250144 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13[SCEV] Put some utilites in the ScalarEvolution classSanjoy Das2-18/+31
In a later commit, `SplitBinaryAdd` will be used outside `IsConstDiff`, so lift that out. And lift out `IsConstDiff` as `computeConstantDifference` to keep things clean and to avoid playing C++ access specifier games. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250143 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13TransformUtils: Remove implicit ilist iterator conversions, NFCDuncan P. N. Exon Smith26-255/+254
Continuing the work from last week to remove implicit ilist iterator conversions. First related commit was probably r249767, with some more motivation in r249925. This edition gets LLVMTransformUtils compiling without the implicit conversions. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250142 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13Looks like malformed-machos 00000031.a test is just getting a different errorKevin Enderby1-6/+0
on some of the bots. I’ll remove this test for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250141 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13DAGCombiner: Don't stop finding better chain on 2 aliasesMatt Arsenault2-26/+40
The comment says this was stopped because it was unlikely to be profitable. This is not true if you want to combine vector loads with multiple components. For a simple case that looks like t0 = load t0 ... t1 = load t0 ... t2 = load t0 ... t3 = load t0 ... t4 = store t0:1, t0:1 t5 = store t4, t1:0 t6 = store t5, t2:0 t7 = store t6, t3:0 We want to get all of these stores onto a chain that is a TokenFactor of these N loads. This mostly solves the AMDGPU merge-stores.ll regressions with -combiner-alias-analysis for merging vector stores of vector loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250138 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13x86: preserve flags when folding atomic operationsJF Bastien2-6/+46
Summary: D4796 taught LLVM to fold some atomic integer operations into a single instruction. The pattern was unaware that the instructions clobbered flags. This patch adds the missing EFLAGS definition. Floating point operations don't set flags, the subsequent fadd optimization is therefore correct. The same applies for surrounding load/store optimizations. Reviewers: rsmith, rtrieu Subscribers: llvm-commits, reames, morisset Differential Revision: http://reviews.llvm.org/D13680 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250135 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13AMDGPU: Refactor isVGPRToSGPRCopyMatt Arsenault1-19/+48
It should now correctly handle physical registers and make it easier to identify the other direction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250132 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-13Remove the correct unstable malformed-machos test mem-crup-0261.macho andKevin Enderby1-3/+6
restore the malformed-machos 00000031.a test. Hopefully this will get all the build bots happy again. I’ll again keep an eye on them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250130 91177308-0d34-0410-b5e6-96231b3b80d8