- Dec 13, 2011
-
-
Chandler Carruth authored
undefined result. This adds new ISD nodes for the new semantics, selecting them when the LLVM intrinsic indicates that the undef behavior is desired. The new nodes expand trivially to the old nodes, so targets don't actually need to do anything to support these new nodes besides indicating that they should be expanded. I've done this for all the operand types that I could figure out for all the targets. Owners of various targets, please review and let me know if any of these are incorrect. Note that the expand behavior is *conservatively correct*, and exactly matches LLVM's current behavior with these operations. Ideally this patch will not change behavior in any way. For example the regtest suite finds the exact same instruction sequences coming out of the code generator. That's why there are no new tests here -- all of this is being exercised by the existing test suite. Thanks to Duncan Sands for reviewing the various bits of this patch and helping me get the wrinkles ironed out with expanding for each target. Also thanks to Chris for clarifying through all the discussions that this is indeed the approach he was looking for. That said, there are likely still rough spots. Further review much appreciated. llvm-svn: 146466
-
Bill Wendling authored
llvm-svn: 146461
-
Andrew Trick authored
llvm-svn: 146459
-
Jakob Stoklund Olesen authored
Constant pool entries with different alignment may cause more alignment padding to be inserted. Compute the amount of padding needed, and try to pick the location that requires the least amount of padding. Also take the extra padding into account when the water is above the use. llvm-svn: 146458
-
NAKAMURA Takumi authored
llvm-svn: 146457
-
Nick Lewycky authored
llvm-svn: 146456
-
Tony Linthicum authored
llvm-svn: 146455
-
Chad Rosier authored
llvm-svn: 146453
-
Chad Rosier authored
llvm-svn: 146442
-
- Dec 12, 2011
-
-
Nick Lewycky authored
llvm-svn: 146440
-
Chad Rosier authored
then read the file back in to verify use-list serialization/deserialization. llvm-svn: 146439
-
Andrew Trick authored
This should always be done as a matter of principal. I don't have a case that exposes the problem. I just noticed this recently while scanning the code and realized I meant to fix it long ago. llvm-svn: 146438
-
Daniel Dunbar authored
autodiscovery. llvm-svn: 146437
-
Daniel Dunbar authored
subdirectories to traverse into. - Originally I wanted to avoid this and just autoscan, but this has one key flaw in that new subdirectories can not automatically trigger a rerun of the llvm-build tool. This is particularly a pain when switching back and forth between trees where one has added a subdirectory, as the dependencies will tend to be wrong. This will also eliminates FIXME implicitly. llvm-svn: 146436
-
Daniel Dunbar authored
llvm-svn: 146435
-
Daniel Dunbar authored
--write-llvmbuild. llvm-svn: 146434
-
Akira Hatanaka authored
llvm-svn: 146433
-
Akira Hatanaka authored
-relocation-model=static. llvm-svn: 146432
-
Akira Hatanaka authored
llvm-svn: 146431
-
Pete Cooper authored
If we create new intervals for a variable that is being spilled, then those new intervals are not guaranteed to also spill. This means that anything reading from the original spilling value might not get the correct value if spills were missed. Fixes <rdar://problem/10546864> llvm-svn: 146428
-
Tony Linthicum authored
llvm-svn: 146420
-
rdar://problem/10551006Bob Wilson authored
These modifiers simply select either the low or high D subregister of a Neon Q register. I've also removed the unimplemented 'p' modifier, which turns out to be a bit different than the comment here suggests and as far as I can tell was only intended for internal use in Apple's version of gcc. llvm-svn: 146417
-
Tony Linthicum authored
llvm-svn: 146412
-
Joerg Sonnenberger authored
llvm-svn: 146411
-
Daniel Dunbar authored
llvm-svn: 146409
-
Dan Gohman authored
detected in the forward-CFG DFS. This prevents the reverse-CFG from visiting blocks inside loops after blocks that dominate them in the case where loops have multiple exits. No testcase, because this fixes a bug which in practice only shows up in a full optimizer run, due to the use-list order. This fixes rdar://10422791 and others. llvm-svn: 146408
-
Jan Sjödin authored
llvm-svn: 146407
-
Jakob Stoklund Olesen authored
This computes the offset of the layout sucessor block, considering its alignment as well. llvm-svn: 146401
-
Jakob Stoklund Olesen authored
llvm-svn: 146400
-
Jan Sjödin authored
llvm-svn: 146397
-
Jakob Stoklund Olesen authored
Downgrade the alignment of the initial constant island when constant pool entries are moved elsewhere. This is all gated by -arm-align-constant-islands. llvm-svn: 146391
-
Dan Gohman authored
llvm-svn: 146389
-
Daniel Dunbar authored
- Fixes PR11530. llvm-svn: 146388
-
Dan Gohman authored
llvm-svn: 146385
-
Dan Gohman authored
llvm-svn: 146384
-
Dan Gohman authored
llvm-svn: 146383
-
Jakob Stoklund Olesen authored
Also add an MCP member pointing to the machine constant pool. No functional change intended. llvm-svn: 146382
-
Dan Gohman authored
llvm-svn: 146380
-
Kostya Serebryany authored
llvm-svn: 146379
-
Chad Rosier authored
Original commit message: Support/FileSystem: Implement canonicalize. llvm-svn: 146378
-