summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/2009-12-23-MissingSext.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update Clang tests to handle explicitly typed load changes in LLVM.David Blaikie2015-02-271-4/+4
| | | | llvm-svn: 230795
* Add a triple to this test. It depends on little-endian bitfield layout.Chandler Carruth2012-12-091-1/+1
| | | | llvm-svn: 169696
* Rework the bitfield access IR generation to address PR13619 andChandler Carruth2012-12-061-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | generally support the C++11 memory model requirements for bitfield accesses by relying more heavily on LLVM's memory model. The primary change this introduces is to move from a manually aligned and strided access pattern across the bits of the bitfield to a much simpler lump access of all bits in the bitfield followed by math to extract the bits relevant for the particular field. This simplifies the code significantly, but relies on LLVM to intelligently lowering these integers. I have tested LLVM's lowering both synthetically and in benchmarks. The lowering appears to be functional, and there are no really significant performance regressions. Different code patterns accessing bitfields will vary in how this impacts them. The only real regressions I'm seeing are a few patterns where the LLVM code generation for loads that feed directly into a mask operation don't take advantage of the x86 ability to do a smaller load and a cheap zero-extension. This doesn't regress any benchmark in the nightly test suite on my box past the noise threshold, but my box is quite noisy. I'll be watching the LNT numbers, and will look into further improvements to the LLVM lowering as needed. llvm-svn: 169489
* Migrate 2009-12-23-MissingSext.cpp from test/FrontendC++ and modifyEric Christopher2011-08-191-0/+16
for sext -> and difference. llvm-svn: 138088
OpenPOWER on IntegriCloud