summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/pr12251.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update Clang tests to handle explicitly typed load changes in LLVM.David Blaikie2015-02-271-16/+16
| | | | llvm-svn: 230795
* IR: Make metadata typeless in assembly, clang sideDuncan P. N. Exon Smith2014-12-151-7/+7
| | | | | | Match LLVM changes from r224257. llvm-svn: 224259
* Adjust test/CodeGenCXX/pr12251.cppHal Finkel2014-09-071-3/+2
| | | | | | | | InstCombine just got a bit smarter about checking known bits of returned values, and because this test runs the optimizer, it requires an update. We should really rewrite this test to directly check the IR output from CodeGen. llvm-svn: 217347
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-18/+18
| | | | | | tests fail. llvm-svn: 188447
* Make these tests more robust against IRgen choosing to emit more named metadata.Richard Smith2013-07-141-21/+21
| | | | llvm-svn: 186279
* A number of test cases assume that an "int" parameter or return valueUlrich Weigand2012-10-241-2/+2
| | | | | | | | | | | | will be represented in the IR as a plain "i32" type. This causes the tests to spuriously fail on platforms where int is not a 32-bit type, or where the ABI requires attributes like "signext" or "zeroext" to be used. This patch adds -triple or -target parameters to force those tests to use the i386-unknown-unknown target. llvm-svn: 166551
* Move the emission of strict enum range metadata behind a flag (the sameChandler Carruth2012-03-271-1/+8
| | | | | | | | | | | | | | | | | | | | | flag as GCC uses: -fstrict-enums). There is a *lot* of code making unwarranted assumptions about the underlying type of enums, and it doesn't seem entirely reasonable to eagerly break all of it. Much more importantly, the current state of affairs is *very* good at optimizing based upon this information, which causes failures that are very distant from the actual enum. Before we push for enabling this by default, I think we need to implement -fcatch-undefined-behavior support for instrumenting and trapping whenever we store or load a value outside of the range. That way we can track down the misbehaving code very quickly. I discussed this with Rafael, and currently the only important cases he is aware of are the bool range-based optimizations which are staying hard enabled. We've not seen any issue with those either, and they are much more important for performance. llvm-svn: 153550
* Fix copy and pasto.Rafael Espindola2012-03-241-1/+1
| | | | llvm-svn: 153385
* Add back r153360 with a fix for enums that cover all the 32 bit values.Rafael Espindola2012-03-241-0/+139
| | | | | | Thanks to NAKAMURA Takumi for finding it! llvm-svn: 153383
* Revert r153360 (and r153380), "Second part of PR12251. Produce the range ↵NAKAMURA Takumi2012-03-241-121/+0
| | | | | | | | | | metadata in clang for booleans and". For i686 targets (eg. cygwin), I saw "Range must not be empty!" in verifier. It produces (i32)[0x80000000:0x80000000) from (uint64_t)[0xFFFFFFFF80000000ULL:0x0000000080000000ULL), for signed i32 on MDNode::Range. llvm-svn: 153382
* On i386 the alignment of i64 is 4, not 8.Benjamin Kramer2012-03-241-2/+2
| | | | llvm-svn: 153380
* Second part of PR12251. Produce the range metadata in clang for booleans andRafael Espindola2012-03-241-0/+121
c++ enums. llvm-svn: 153360
OpenPOWER on IntegriCloud