- Jan 07, 2015
-
-
Duncan P. N. Exon Smith authored
Add API to indicate whether an `MDNode` is distinct. A distinct node is not stored in the MDNode uniquing tables, and will never be returned by `MDNode::get()`. Although distinct nodes are only currently created by uniquing collisions (when operands change), PR22111 will allow these nodes to be explicitly created. llvm-svn: 225401
-
Sean Silva authored
E.g. %-foo and %fo-o. Thanks to eagle-eyed reporter Tomas Brukner. llvm-svn: 225400
-
Adrian Prantl authored
llvm-svn: 225399
-
Duncan P. N. Exon Smith authored
`MDNode::replaceOperandWith()` changes all instances of metadata. Stop using it when linking module flags, since (due to uniquing) the flag values could be used by other metadata. Instead, use new API `NamedMDNode::setOperand()` to update the reference directly. llvm-svn: 225397
-
Alexey Samsonov authored
llvm-svn: 225393
-
Ahmed Bougacha authored
A few loops do trickier things than just iterating on an MVT subset, so I'll leave them be for now. Follow-up of r225387. llvm-svn: 225392
-
Ahmed Bougacha authored
This commit adds a simple iterator over that enum, and a few functions to create iterator ranges over the most common types. Differential Revision: http://reviews.llvm.org/D6537 llvm-svn: 225387
-
Alexey Samsonov authored
This was already fixed by r224481, but apparently was accidentally reverted in r225207. llvm-svn: 225386
-
Rafael Espindola authored
llvm-svn: 225385
-
Chandler Carruth authored
llvm-svn: 225384
-
Kevin Enderby authored
options other than just -disassemble so that universal files can be used with other options combined with -arch options. No functional change to existing options and use. One test case added for the additional functionality with a universal file an a -arch option. llvm-svn: 225383
-
Tom Stellard authored
Use VGPR_32 register class instead. These two register classes were identical and having separate classes was causing SIInstrInfo::isLegalOperands() to be overly conservative in some cases. This change is necessary to prevent future paches from missing a folding opportunity in fneg-fabs.ll. llvm-svn: 225382
-
Olivier Sallenave authored
llvm-svn: 225380
-
Adrian Prantl authored
The two buildbot failures were addressed in LLVM r225378 and CFE r225359. This rapplies commit 225272 without modifications. llvm-svn: 225379
-
Adrian Prantl authored
llvm-svn: 225378
-
Colin LeMahieu authored
[Hexagon] Fix 225372 USR register is not fully complete. Removing Uses = [USR] maintains existing functionality to old instructions without encodings. llvm-svn: 225377
-
Colin LeMahieu authored
llvm-svn: 225374
-
Tom Stellard authored
This is used to simplify the SIFoldOperands pass and make it easier to fold immediates. llvm-svn: 225373
-
Colin LeMahieu authored
llvm-svn: 225372
-
Colin LeMahieu authored
llvm-svn: 225371
-
Tom Stellard authored
This allows folding of sequences like: s[0:1] = s_mov_b64 4 v_add_i32 v0, s0, v0 v_addc_u32 v1, s1, v1 into v_add_i32 v0, 4, v0 v_add_i32 v1, 0, v1 llvm-svn: 225369
-
Olivier Sallenave authored
llvm-svn: 225368
-
Ahmed Bougacha authored
llvm-svn: 225367
-
Philip Reames authored
llvm-svn: 225366
-
Philip Reames authored
This change includes the most basic possible GCStrategy for a GC which is using the statepoint lowering code. At the moment, this GCStrategy doesn't really do much - aside from actually generate correct stackmaps that is - but I went ahead and added a few extra correctness checks as proof of concept. It's mostly here to provide documentation on how to do one, and to provide a point for various optimization legality hooks I'd like to add going forward. (For context, see the TODOs in InstCombine around gc.relocate.) Most of the validation logic added here as proof of concept will soon move in to the Verifier. That move is dependent on http://reviews.llvm.org/D6811 There was discussion in the review thread about addrspace(1) being reserved for something. I'm going to follow up on a seperate llvmdev thread. If needed, I'll update all the code at once. Note that I am deliberately not making a GCStrategy required to use gc.statepoints with this change. I want to give folks out of tree - including myself - a chance to migrate. In a week or two, I'll make having a GCStrategy be required for gc.statepoints. To this end, I added the gc tag to one of the test cases but not others. Differential Revision: http://reviews.llvm.org/D6808 llvm-svn: 225365
-
Ahmed Bougacha authored
Many places reference MVT::LAST_VALUETYPE when iterating over all valid MVTs, but they usually start with 0. With FIRST_VALUETYPE, we can avoid explicit constants when we really should be using MVT::SimpleValueType. llvm-svn: 225362
-
David Majnemer authored
LLVM emits stack probes on Windows targets to ensure that the stack is correctly accessed. However, the amount of stack allocated before emitting such a probe is hardcoded to 4096. It is desirable to have this be configurable so that a function might opt-out of stack probes. Our level of granularity is at the function level instead of, say, the module level to permit proper generation of code after LTO. Patch by Andrew H! N.B. The inliner needs to be updated to properly consider what happens after inlining a function with a specific stack-probe-size into another function with a different stack-probe-size. llvm-svn: 225360
-
Tom Stellard authored
This will make a future patch much less intrusive. llvm-svn: 225358
-
Ahmed Bougacha authored
For code like: float foo(float x) { return copysign(1.0, x); } We used to generate: andps <-0.000000e+00,0,0,0>, %xmm0 movss <1.000000e+00>, %xmm1 andps <nan>, %xmm1 orps %xmm0, %xmm1 Basically doing an abs(1.0f) in the two middle instructions. We now generate: andps <-0.000000e+00,0,0,0>, %xmm0 orps <1.000000e+00,0,0,0>, %xmm0 Builds on cleanups r223415, r223542. rdar://19049548 Differential Revision: http://reviews.llvm.org/D6555 llvm-svn: 225357
-
Rafael Espindola authored
* Both files have valid package headers and footers (you can verify with M-x checkdoc). * Fixed style warnings generated by checkdoc. * Fixed a byte-compiler warning in llvm-mode.el. * Ensure that the modes are autoloaded, so users do not need to (require 'llvm-mode) to use them. Patch by Wilfred Hughes. llvm-svn: 225356
-
Aaron Ballman authored
Reverting r225319; since there is a folder named Examples, attempting to add a target of the same name causes problems for IDEs like Visual Studio. llvm-svn: 225355
-
Aaron Ballman authored
Manually specify the folder that Kaleidescope should reside in for CMake-produced solutions that care about such things (like MSVC). This takes the Kaleidescope target out of the root solution folder and places it into the Examples folder where it belongs. llvm-svn: 225354
-
Aaron Ballman authored
Manually specify the folder that llvm-ranlib should reside in for CMake-produced solutions that care about such things (like MSVC). This takes llvm-ranlib out of the root solution folder and places it into the Tools folder where it belongs. llvm-svn: 225353
-
Jonas Paulsson authored
Used to iterate over previously added memory dependencies in adjustChainDeps() and iterateChainSucc(). SDep::isCtrl() was previously used in these places, that also gave anti and output edges. The code may be worse if these are followed, because MisNeedChainEdge() will conservatively return true since a non-memory instruction has no memory operands, and a false chain dep will be added. It is also unnecessary since all memory accesses of interest will be reached by memory dependencies, and there is a budget limit for the number of edges traversed. This problem was found on an out-of-tree target with enabled alias analysis. No test case for an in-tree target has been found. Reviewed by Hal Finkel. llvm-svn: 225351
-
Jonas Paulsson authored
For -enable-aa-sched-mi and -use-tbaa-in-sched-mi. llvm-svn: 225350
-
Charlie Turner authored
llvm-svn: 225348
-
Asiri Rathnayake authored
The change in r225266 was reviewed under D6722. But the commit r225266 has a typo, causing some MCHammer failures. This patch fixes it. Change-Id: I573efcff25003af7478ac02548ebbe929fc7f5fd llvm-svn: 225347
-
Chandler Carruth authored
requiring and invalidating specific analyses. Also make their printed names match their class names. Writing these out as prose really doesn't make sense to me any more. llvm-svn: 225346
-
Craig Topper authored
[X86] Merge a switch statement inside a default case of another switch statement on the same variable. There was no additional code in the default so this should be no functional change. llvm-svn: 225345
-
Craig Topper authored
[X86] Don't mark the shift by 1 instructions as isConvertibleToThreeAddress. There is no handling for them. llvm-svn: 225344
-